Swift 字符串
Swift 4的字符串是有序字符集合,例如”Hello, World!”,它們由Swift 4數(shù)據(jù)類型String表示,該類型表示Character類型的值集合。愛掏網(wǎng) - it200.com
可以通過使用字符串字面量或創(chuàng)建String類的實例來創(chuàng)建字符串。愛掏網(wǎng) - it200.com
看這個示例:
// String creation using String literal
var stringA = "Hello world!"
print( stringA )
// String creation using String instance
var stringB = String("This is JavaTpoint")
print( stringB )
//Multiple line string
let stringC = """
This is an
example of multiple line
string by JavaTpoint
"""
print(stringC)
輸出:
Hello world!
This is JavaTpoint
This is an
example of multiple line
string by JavaTpoint
空字符串
要創(chuàng)建空字符串,可以使用空字符串字面量或創(chuàng)建string類的實例。愛掏網(wǎng) - it200.com
要檢查字符串是否為空,可以使用布爾屬性isEmpty。愛掏網(wǎng) - it200.com
示例
// Empty string creation using String literal
var stringA = ""
if stringA.isEmpty {
print( "stringA is empty" )
} else {
print( "stringA is not empty" )
}
// Empty string creation using String instance
let stringB = String()
if stringB.isEmpty {
print( "stringB is empty" )
} else {
print( "stringB is not empty" )
}
輸出:
stringA is empty
stringB is empty
字符串操作
我們可以對Swift字符串進行許多操作。愛掏網(wǎng) - it200.com
字符串拼接
+運算符用于在Swift中拼接兩個字符串或一個字符串和一個字符,或者拼接兩個字符。愛掏網(wǎng) - it200.com
示例
let constA = "Hello "
let constB = "JavaTpoint"
var stringA = constA + constB
print( stringA )
輸出:
Hello JavaTpoint
字符串插值
字符串插值用于通過混合常量、變量、字面量和表達(dá)式的值,并將它們包含在一個字符串字面量中來構(gòu)造一個新的字符串值。愛掏網(wǎng) - it200.com插入到字符串字面量中的變量和常量的值需要用一對括號包裹起來,并在前面加上一個反斜杠。愛掏網(wǎng) - it200.com
示例
var varA = 10
let constA = 1000
var varC:Float = 10.0
var stringA = "\(varA) times \(constA) is equal to \(varC * 1000)"
print( stringA
輸出:
10 times 1000 is equal to 10000.0
字符串長度
字符串4不支持 length 屬性,但我們可以使用全局的count()函數(shù)來計算字符串中字符的數(shù)量。愛掏網(wǎng) - it200.com
示例
var varA = "Hello JavaTpoint"
print( "\(varA), string length is \((varA.count))" )
輸出:
Hello JavaTpoint, string length is 16
字符串比較
使用 ==
運算符來比較兩個字符串變量或常量。愛掏網(wǎng) - it200.com
示例
var varA = "Hello, JavaTpoint"
var varB = "Hello, World!"
if varA == varB {
print( "\(varA) and \(varB) are equal" )
} else {
print( "\(varA) and \(varB) are not equal" )
}
輸出結(jié)果:
Hello, JavaTpoint and Hello, World! are not equal
字符串迭代
在Swift 4中,字符串是值的集合,因此我們可以使用循環(huán)迭代字符串:
示例:
for chars in "WelcometoJavaTpoint" {
print(chars, terminator: " ")
}
輸出:
W e l c o m e t o J a v a T p o i n t
Unicode字符串的迭代
我們可以通過utf8和utf16屬性訪問Unicode字符串的UTF-8和UTF-16表示。愛掏網(wǎng) - it200.com
示例
var unicodeString = "JavaTpoint"
print("UTF-8 Codes: ")
for code in unicodeString.utf8 {
print("\(code) ")
}
print("\n")
print("UTF-16 Codes: ")
for code in unicodeString.utf16 {
print("\(code) ")
}
輸出:
UTF-8 Codes:
74
97
118
97
84
112
111
105
110
116
UTF-16 Codes:
74
97
118
97
84
112
111
105
110
116
Swift 4 String函數(shù)和運算符
Swift 4中與字符串相關(guān)的一系列函數(shù)和運算符:
索引 | 函數(shù)/運算符 | 用法 |
---|---|---|
1) | isEmpty | 用于檢查字符串是否為空。愛掏網(wǎng) - it200.com返回一個布爾值。愛掏網(wǎng) - it200.com |
2) | hasPrefix(prefix: String) | 用于檢查給定的參數(shù)字符串是否作為字符串的前綴存在。愛掏網(wǎng) - it200.com |
3) | hasSuffix(suffix: String) | 用于檢查給定的參數(shù)字符串是否作為字符串的后綴存在。愛掏網(wǎng) - it200.com |
4) | toInt() | 用于將數(shù)值字符串值轉(zhuǎn)換為整數(shù)。愛掏網(wǎng) - it200.com |
5) | count() | 這是一個全局函數(shù),用于計算字符串中字符的數(shù)量。愛掏網(wǎng) - it200.com |
6) | utf8 | 它指定返回字符串的UTF-8表示。愛掏網(wǎng) - it200.com |
7) | utf16 | 它指定返回字符串的UTF-16表示。愛掏網(wǎng) - it200.com |
8) | unicodeScalars | 它指定返回字符串的Unicode Scalar表示。愛掏網(wǎng) - it200.com |
9) | + |
這是一個操作符,用于連接兩個字符串,或一個字符串和一個字符,或兩個字符。愛掏網(wǎng) - it200.com |
10) | += |
它是一個操作符,用于將字符串或字符添加到現(xiàn)有字符串中。愛掏網(wǎng) - it200.com |
11) | == |
這是一個用來確定兩個字符串是否相等的運算符。愛掏網(wǎng) - it200.com |
12) | < |
這是一個用來進行詞典比較,確定一個字符串是否小于另一個字符串的運算符。愛掏網(wǎng) - it200.com |
13) | startIndex | 用于獲取字符串的起始索引處的值。愛掏網(wǎng) - it200.com |
14) | endIndex | 用于獲取字符串的結(jié)束索引處的值。愛掏網(wǎng) - it200.com |
15) | Indices | 用于逐個訪問索引,即逐個訪問字符串的所有字符。愛掏網(wǎng) - it200.com |
16) | insert(“Value”, at: position) | 用于在指定位置插入一個值。愛掏網(wǎng) - it200.com |
17) | remove(at:位置) removeSubrange(范圍) | 用于從位置移除一個值,或者從字符串中移除一段范圍的值。愛掏網(wǎng) - it200.com |
18) | reversed() | 用于返回字符串的反轉(zhuǎn)。愛掏網(wǎng) - it200.com |