Kotlin 字符串

Kotlin 字符串

字符串用于存储文本。

字符串包含由双引号括起来的字符集合:

实例

var greeting = "Hello"
亲自试一试 »

Java 不同,您不必指定变量应该是 String . Kotlin 足够聪明,可以理解上面示例中的 greeting 变量是一个 String 因为双引号。

但是,就像其他数据类型一样,如果您坚持,您可以指定类型:

实例

var greeting: String = "Hello"
亲自试一试 »

注意: 如果你想创建一个 String 而不赋值(稍后再赋值),你必须在声明变量时指定类型:

实例

这很好用:

var name: String
name = "John"
println(name)
亲自试一试 »

实例

这会产生错误:

var name
name = "John"
println(name)
亲自试一试 »

访问字符串

要访问字符串的字符(元素),您必须参考方括号内的索引号

字符串索引从0开始。在下面的例子中,我们访问txt中的第一个和第三个元素:

实例

var txt = "Hello World"
println(txt[0]) // first element (H)
println(txt[2]) // third element (l)
亲自试一试 »

[0] 是第一个元素。 [1] 是第二个元素,[2] 是第三个元素,依此类推



字符串长度

Kotlin 中的字符串是一个对象,它包含可以对字符串执行某些操作的属性和函数,方法是在特定字符串后写入一个点字符 (.) 多变的。 例如,可以使用 length 属性找到字符串的长度:

实例

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
println("The length of the txt string is: " + txt.length)
亲自试一试 »

字符串函数

有许多可用的字符串函数,例如 toUpperCase()toLowerCase():: p>

实例

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))  // Outputs 0 (they are equal)
亲自试一试 »

在字符串中查找字符串

indexOf() 函数返回指定文本在字符串(包括空格)中第一次出现的index(位置) ):

实例

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))
亲自试一试 »

字符串模板/插值

除了串联,您还可以使用"字符串模板(string templates)",这是一种在字符串中添加变量和表达式的简单方法。

只需引用带有 $ 符号的变量:

实例

var firstName = "John"
var lastName = "Doe"
println("My name is $firstName $lastName")
亲自试一试 »

字符串模板(string templates)是 Kotlin 的一个流行特性,因为它减少了代码量。 例如,您不必在 firstName 和 lastName 之间指定空格,就像我们在串联示例中所做的那样。