最适合网络开发者的网站
Kotlin。W3Schools 英文版。初学者课程

尿素 西斯

Kotlin 字符串


Kotlin 字符串

字符串用于存储文本。

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

例子

var greeting = "Hello"
亲自尝试 »

不同于 Java,您不必指定变量应该是 String。Kotlin 非常聪明,能够理解上面例子中的问候变量是 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():

例子

var txt = "Hello World"
println(txt.toUpperCase())   // Outputs "HELLO WORLD"
println(txt.toLowerCase())   // Outputs "hello world"
亲自尝试 »

比较字符串

compareTo(string) 函数比较两个字符串,如果相等则返回 0:

例子

var txt1 = "Hello World"
var txt2 = "Hello World" println(txt1.compareTo(txt2))  // Outputs 0 (they are equal)
亲自尝试 »

在字符串中查找字符串

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

例子

var txt = "Please locate where 'locate' occurs!"
println(txt.indexOf("locate"))  // Outputs 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 之间指定空格。