Kotlin笔记 ---- 1 字符串与字符串模板

Kotlin笔记 ---- 1

1. 定义字符串

val myString = "Hello world!"
val myString: String
myString = "Hello world!"

2. 访问字符串中的字符,使用index直接访问

val myString = "Hello world!"
var item: Char
item = myString[0]    	// item = 'H'
item = myString[9]    	// item = 'l'
item = myString[-1]   	// out of range
item = myString.last()	// item = '!'

item = myString.lastOrNull()	
//与前者主要区别为当myString为空值时会返回 null ,而不是 NoSuchElementException

3. 字符串的截取
使用了 Java 内的 subString() 函数

val myString = "Hello world!"
var subStr: String
subStr = myString.substring(10)				// subStr = 'd!' 只传开始下标默认截取至末尾
subStr = myString.substring(0, 10)			// subStr = 'Hello worl' 不含结束下标
subStr = myString.substring(IntRange(0,7))	// subStr = 'Hello wo'	含结束下标

4. 字符串的编辑更改
不可以直接更改字符串中的单个元素

val myString = "Hello world!"
myString[5] = T 	// No set method providing array access

可以通过重新给字符串赋值或是 replace() 函数来达成编辑字符串的效果,也可以通过截取与拼接实现。

5. 字符串的拼接
在 Java 中支持用 + 进行拼接,Kotlin 也可使用 plus() 函数

val myString = "Hello world!"
println(myString + "TTT")			// Hello world!TTT

println(myString.plus(0.22))		// Hello world!0.22
println(myString.plus(true))		// Hello world!true

val list = mutableListOf(2, 65, 3)	
println(myString.plus(list))		// Hello world![2, 65, 3]

plus() 本质上使用了原本存在的一个 Collection 与另一个给出的 Collection,返回了一个新建的 Collection,最初的并没有被改变

6. 转义字符串与原始字符串

val myString = "Hello \nworld!"
// Hello 
// world!

常见的像是 \n 换行符; ’ 插入单引号; " 插入双引号等等

val float = 0.34
val rawStr = """Hello \nworld!
	The float num is $float
	0.d13 true
	${'$'}9.99
"""
// 输出为:
Hello \nworld!
	The float num is 0.34
    0.d13 true
    $9.99

关于原始字符串需要注意的点:

  • 以三个双引号作为开始/结束
  • 在开始后当前行就是输出时的第一行
  • 可以使用字符串模板
  • 不可以使用转义字符串
  • 可以通过倒数第二行的方式来输出💲符号
  • 需要注意每行缩进,使用print()和println()对于输出的换行没有影响

使用 trimMargin() 函数可以缩进,默认为 | 符号,可以在函数参数处自定义

val float = 0.34
val rawStr = """Hello \nworld!
	|The float num is $float
	|0.d13 true
	|${'$'}9.99
	sdwd
"""
print(rawStr.trimMargin())
// 输出为
Hello \nworld!
The float num is 0.34
0.d13 true
$9.99
	sdwd

7. 字符串模板
字符串模板 $ 后跟变量名,则该模板为内容是 变量的值 的字符串。
若 $ 后跟 {函数名} 则该模板为 内容是 函数返回结果 的字符串。

${} 能够引用的变量类型适用于多种基本数据类型 (不只限于 String) 。除此之外,在它的里面还可以调用函数,通过函数的返回值进行输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值