Kotlin 字符串教程:深入理解与使用技巧
Kotlin 字符串
字符串用于存储文本。
字符串包含由双引号包围的字符集合:
示例
var greeting = "Hello"
与 Java
不同,您不必指定变量是字符串。Kotlin 足够智能,可以通过双引号理解上例中的 greeting
变量是字符串。
然而,与其他数据类型一样,如果您坚持,可以指定类型:
示例
var greeting: String = "Hello"
注意:如果您想创建一个字符串但不赋值(并稍后赋值),您必须在声明变量时指定类型:
示例
这样是可以的:
var name: String
name = "John"
println(name)
示例
这样会产生错误:
var name
name = "John"
println(name)
访问字符串
要访问字符串的字符(元素),必须在方括号内引用索引号。
字符串索引从 0
开始。在下面的示例中,我们访问 txt
中的第一个和第三个元素:
示例
var txt = "Hello World"
println(txt[0]) // 第一个元素 (H)
println(txt[2]) // 第三个元素 (l)
[0]
是第一个元素,[1]
是第二个元素,[2]
是第三个元素,等等。
字符串长度
Kotlin 中的字符串是对象,包含可以对字符串执行某些操作的属性和函数,通过在特定字符串变量后写一个点字符(.
)。例如,可以使用 length
属性找到字符串的长度:
示例
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
println("txt 字符串的长度是: " + txt.length)
字符串函数
有许多可用的字符串函数,例如 toUpperCase()
和 toLowerCase()
:
示例
var txt = "Hello World"
println(txt.toUpperCase()) // 输出 "HELLO WORLD"
println(txt.toLowerCase()) // 输出 "hello world"
比较字符串
compareTo(string)
函数比较两个字符串,如果两者相等则返回 0
:
示例
var txt1 = "Hello World"
var txt2 = "Hello World"
println(txt1.compareTo(txt2)) // 输出 0 (它们相等)
查找字符串中的字符串
indexOf()
函数返回指定文本在字符串中首次出现的位置(包括空格):
示例
var txt = "Please locate where 'locate' occurs!"
println(txt.indexOf("locate")) // 输出 7
记住,Kotlin 从零开始计数。
0
是字符串中的第一个位置,1
是第二个,2
是第三个……
字符串中的引号
要在字符串中使用引号,使用单引号('
):
示例
var txt1 = "It's alright"
var txt2 = "That's great"
字符串连接
可以在字符串之间使用 +
运算符将它们添加在一起,形成一个新的字符串。这称为连接:
示例
var firstName = "John"
var lastName = "Doe"
println(firstName + " " + lastName)
请注意,我们添加了一个空文本(" "
)以在打印时在 firstName
和 lastName
之间创建一个空格。
您还可以使用 plus()
函数连接两个字符串:
示例
var firstName = "John "
var lastName = "Doe"
println(firstName.plus(lastName))
字符串模板/插值
除了连接,您还可以使用“字符串模板”,这是一种在字符串中添加变量和表达式的简单方法。
只需使用 $
符号引用变量:
示例
var firstName = "John"
var lastName = "Doe"
println("My name is $firstName $lastName")
“字符串模板”是 Kotlin 的一个流行特性,因为它减少了代码量。例如,您不必像在连接示例中那样在 firstName
和 lastName
之间指定空格。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
Kotlin 字符串教程:深入理解与使用技巧的更多相关文章
- Python复杂场景下字符串处理相关问题与解决技巧
1.如何拆分含有多种分隔符的字符串¶ ''' 实际案例: 我们要把某个字符串依据分隔符号拆分不同的字段,该字符串包含多种不同的分隔符,例如: s=’ab;cd|efg|hi,jkl|mn\topq ...
- Kotlin入门教程——目录索引
Kotlin是谷歌官方认可的Android开发语言,Android Studio从3.0版本开始就内置了Kotlin,所以未来在App开发中Kotlin取代Java是大势所趋,就像当初Android ...
- 对Java中字符串的进一步理解
字符串在程序开发中无处不在,也是用户交互所涉及到最频繁的数据类型,那么字符串不仅仅就是我们简单的理解的String str = "abc";一起来更加深入的看一下 在Java中,字 ...
- Windows 8实例教程系列 - 理解应用框架
原文:Windows 8实例教程系列 - 理解应用框架 Windows 操作系统之所以风靡世界,是因为其“易学易用”,从用户的角度出发,让数以万计的非IT人员使用计算机实现娱乐,工作等目的.Windo ...
- 字符串replace的理解和练习和配合正则表达式的使用
下面代码展示了(demo地址 https://codepen.io/peach_/pen/jONJjRY): 1.字符串replace的理解和练习和配合正则表达式的使用, 2.正则表达式学习 3.通过 ...
- Kotlin 入门教程
Kotlin 入门教程 Android / Java https://developer.android.com/kotlin?hl=zh-cn 使用 Kotlin 开发 Android 应用 使用 ...
- CTF必备技能丨Linux Pwn入门教程——调整栈帧的技巧
Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...
- kotlin字符串比较&空值处理&when表达式
字符串比较: 字符串的比较也是实际中比较常见的,下面来看下它的比较跟java中有啥不同,下面走起! 如我们所预期,其结果: 下面再来: 如果是java,结果肯定是为false,因为"==&q ...
- java字符串函数及理解
Java中的字符串也是一连串的字符.但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理.将字符串作为内置的对象处理允许Java提供十分丰富的功能特性 ...
- 数值和字符串相互转换(C++ 数据类型转换技巧)
类型转换是将一种类型的值映射为另一种类型的值.进行数据类型的转换. 是在实际代码编写中经常遇到的问题,特别是字符串和其他类型的转换. 1.将字符串转换为整数 (1).转换函数// 双精度函数doubl ...
随机推荐
- ros2 foxy订阅话题问题
代码片段 这部分代码在galactic版本编译是OK的,可在foxy下编译就出了问题 TeleopPanel::TeleopPanel(QWidget* parent) : rviz_common:: ...
- vue3 函数式组件
今天看vue3中文文档 看到函数式组件不太理解上面写的 然后自己写了一下才理解上面的自己记录一下 先在子组件里面写上 <script> // dynameic 组件 import { h ...
- react移动端组件antd-mobile
使用react移动端组件antd-mobile完成底部导航功能实现. 官网:https://mobile.ant.design/docs/react/introduce-cn antd-mobile ...
- CICD介绍
1.学习背景 当公司的服务器架构越来越复杂,需要频繁的发布新配置文件,以及新代码: 但是如果机器部署数量较多,发布的效率必然很低: 并且如果代码没有经过测试环境,预生产环境层层测试,最终才到生产环境, ...
- Spring源码——AOP实现原理
引言 Spring AOP(Aspect Orient Programming),AOP翻译过来就是面向切面编程,它体现的是一种编程思想,是对面向对象编程(OOP)的一种补充. 在实际业务开发过程中, ...
- mysql 判断字符串结尾
mysql 判断字符串结尾 CREATE TABLE `tbl_str` ( `id` INT DEFAULT NULL, `Str` VARCHAR(30) DEFAULT NULL) INSERT ...
- idea设置jdk和设置文件编码格式utf-8
1.idea设置jdk 2.idea设置文件编码格式utf-8 create utf-8 files with NO BOM 不要更改,否则编译会出错误.
- C#/.NET这些实用的技巧和知识点你都知道吗?
前言 今天大姚给大家分享一些C#/.NET中的实用的技巧和知识点,它们可以帮助我们提升代码质量和编程效率,希望可以帮助到有需要的同学. .NET使用CsvHelper快速读取和写入CSV文件 本文主要 ...
- 基于MCU的SD卡fat文件系统读写移植
背景 https://blog.csdn.net/huang20083200056/article/details/78508490 SD卡(Secure Digital Memory Card)具有 ...
- ARM+DSP!全志T113-i+玄铁HiFi4开发板硬件说明书(1)
前 言 本文档主要介绍开发板硬件接口资源以及设计注意事项等内容,测试板卡为全志T113-i+玄铁HiFi4开发板.由于篇幅问题,本篇文章共分为上下两集,点击账户可查看更多内容详情,开发问题欢迎留言,感 ...