Kotlin 字串教程:深入理解與使用技巧

小万哥丶發表於2024-08-02

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)

請注意,我們新增了一個空文字(" ")以在列印時在 firstNamelastName 之間建立一個空格。

您還可以使用 plus() 函式連線兩個字串:

示例

var firstName = "John "
var lastName = "Doe"
println(firstName.plus(lastName))

字串模板/插值

除了連線,您還可以使用“字串模板”,這是一種在字串中新增變數和表示式的簡單方法。

只需使用 $ 符號引用變數:

示例

var firstName = "John"
var lastName = "Doe"
println("My name is $firstName $lastName")

“字串模板”是 Kotlin 的一個流行特性,因為它減少了程式碼量。例如,您不必像在連線示例中那樣在 firstNamelastName 之間指定空格。

最後

為了方便其他裝置和平臺的小夥伴觀看往期文章:

微信公眾號搜尋:Let us Coding,關注後即可獲取最新文章推送

看完如果覺得有幫助,歡迎 點贊、收藏、關注

相關文章