Swift 字符串

Swift 字符串

Swift 4的字符串是有序字符集合,例如”Hello, World!”,它们由Swift 4数据类型String表示,该类型表示Character类型的值集合。

如何创建一个字符串

可以通过使用字符串字面量或创建String类的实例来创建字符串。

看这个示例:

// 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

空字符串

要创建空字符串,可以使用空字符串字面量或创建string类的实例。

要检查字符串是否为空,可以使用布尔属性isEmpty。

示例

// 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字符串进行许多操作。

字符串拼接

+运算符用于在Swift中拼接两个字符串或一个字符串和一个字符,或者拼接两个字符。

示例

let constA = "Hello "
let constB = "JavaTpoint"

var stringA = constA + constB
print( stringA )

输出:

Hello JavaTpoint

字符串插值

字符串插值用于通过混合常量、变量、字面量和表达式的值,并将它们包含在一个字符串字面量中来构造一个新的字符串值。插入到字符串字面量中的变量和常量的值需要用一对括号包裹起来,并在前面加上一个反斜杠。

示例

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()函数来计算字符串中字符的数量。

示例

var varA = "Hello JavaTpoint"
print( "\(varA), string length is \((varA.count))" )

输出:

Hello JavaTpoint, string length is 16

字符串比较

使用 == 运算符来比较两个字符串变量或常量。

示例

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" )
}

输出结果:

Hello, JavaTpoint and Hello, World! are not equal

字符串迭代

在Swift 4中,字符串是值的集合,因此我们可以使用循环迭代字符串:

示例:

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表示。

示例

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函数和运算符

Swift 4中与字符串相关的一系列函数和运算符:

索引 函数/运算符 用法
1) isEmpty 用于检查字符串是否为空。返回一个布尔值。
2) hasPrefix(prefix: String) 用于检查给定的参数字符串是否作为字符串的前缀存在。
3) hasSuffix(suffix: String) 用于检查给定的参数字符串是否作为字符串的后缀存在。
4) toInt() 用于将数值字符串值转换为整数。
5) count() 这是一个全局函数,用于计算字符串中字符的数量。
6) utf8 它指定返回字符串的UTF-8表示。
7) utf16 它指定返回字符串的UTF-16表示。
8) unicodeScalars 它指定返回字符串的Unicode Scalar表示。
9) + 这是一个操作符,用于连接两个字符串,或一个字符串和一个字符,或两个字符。
10) += 它是一个操作符,用于将字符串或字符添加到现有字符串中。
11) == 这是一个用来确定两个字符串是否相等的运算符。
12) < 这是一个用来进行词典比较,确定一个字符串是否小于另一个字符串的运算符。
13) startIndex 用于获取字符串的起始索引处的值。
14) endIndex 用于获取字符串的结束索引处的值。
15) Indices 用于逐个访问索引,即逐个访问字符串的所有字符。
16) insert(“Value”, at: position) 用于在指定位置插入一个值。
17) remove(at:位置) removeSubrange(范围) 用于从位置移除一个值,或者从字符串中移除一段范围的值。
18) reversed() 用于返回字符串的反转。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程