Swift 字符串@H_403_5@
Swift 字符串是一系列字符的集合。例如 "Hello,World!" 这样的有序的字符类型的值的集合,它的数据类型为 String。@H_403_5@
创建字符串@H_403_5@
你可以通过使用字符串字面量或 String 类的实例来创建一个字符串:@H_403_5@
import Cocoa@H_403_5@
@H_403_5@
// 使用字符串字面量@H_403_5@
var stringA = "Hello,World!"@H_403_5@
print( stringA )@H_403_5@
@H_403_5@
// String 实例化@H_403_5@
var stringB = String("Hello,World!")@H_403_5@
print( stringB )@H_403_5@
Hello,World!@H_403_5@
Hello,World!@H_403_5@
空字符串@H_403_5@
你可以使用空的字符串字面量赋值给变量或初始化一个String类的实例来初始值一个空的字符串。 我们可以使用字符串属性 isEmpty 来判断字符串是否为空:@H_403_5@
import Cocoa@H_403_5@
@H_403_5@
// 使用字符串字面量创建空字符串@H_403_5@
var stringA = ""@H_403_5@
@H_403_5@
if stringA.isEmpty {@H_403_5@
print( "stringA 是空的" )@H_403_5@
} else {@H_403_5@
print( "stringA 不是空的" )@H_403_5@
}@H_403_5@
@H_403_5@
// 实例化 String 类来创建空字符串@H_403_5@
let stringB = String()@H_403_5@
@H_403_5@
if stringB.isEmpty {@H_403_5@
print( "stringB 是空的" )@H_403_5@
} else {@H_403_5@
print( "stringB 不是空的" )@H_403_5@
}@H_403_5@
stringA 是空的@H_403_5@
stringB 是空的@H_403_5@
字符串常量@H_403_5@
你可以将一个字符串赋值给一个变量或常量,变量是可修改的,常量是不可修改的。@H_403_5@
import Cocoa@H_403_5@
@H_403_5@
stringA += "http://www. 百度.com"@H_403_5@
print( stringA )@H_403_5@
@H_403_5@
let stringB = String("百度:")@H_403_5@
stringB += "http://www. baidu.com"@H_403_5@
print( stringB )@H_403_5@
@H_403_5@
字符串中插入值@H_403_5@
字符串插值是一种构建新字符串的方式,可以在其中包含常量、变量、字面量和表达式。 您插入的字符串字面量的每一项都在以反斜线为前缀的圆括号中:@H_403_5@
import Cocoa@H_403_5@
@H_403_5@
var varA = 20@H_403_5@
let constA = 100@H_403_5@
var varC:Float = 20.0@H_403_5@
@H_403_5@
var stringA = "\(varA) 乘于 \(constA) 等于 \(varC * 100)"@H_403_5@
print( stringA )@H_403_5@
20 乘于 100 等于 2000.0@H_403_5@
字符串连接@H_403_5@
字符串可以通过 + 号来连接,实例如下:@H_403_5@
import Cocoa@H_403_5@
@H_403_5@
let constA = "baidu:"@H_403_5@
let constB = "http://www.baidu.com"@H_403_5@
@H_403_5@
var stringA = constA + constB@H_403_5@
@H_403_5@
print( stringA )@H_403_5@
字符串长度@H_403_5@
字符串长度使用 String.characters.count 属性来计算,实例如下:@H_403_5@
import Cocoa@H_403_5@
@H_403_5@
var varA = "www.百度.com"@H_403_5@
@H_403_5@
print( "\(varA),长度为 \(varA.characters.count)" )@H_403_5@
字符串比较@H_403_5@
你可以使用 == 来比较两个字符串是否相等:@H_403_5@
import Cocoa@H_403_5@
@H_403_5@
var varA = "Hello,Swift!"@H_403_5@
var varB = "Hello,World!"@H_403_5@
@H_403_5@
if varA == varB {@H_403_5@
print( "\(varA) 与 \(varB) 是相等的" )@H_403_5@
} else {@H_403_5@
print( "\(varA) 与 \(varB) 是不相等的" )@H_403_5@
}@H_403_5@
Hello,Swift! 与 Hello,World! 是不相等的@H_403_5@
Unicode 字符串@H_403_5@
Unicode 是一个国际标准,用于文本的编码,Swift 的 String 类型是基于 Unicode建立的。你可以循环迭代出字符串中 UTF-8 与 UTF-16 的编码,实例如下:@H_403_5@
import Cocoa@H_403_5@
@H_403_5@
var unicodeString = "教程"@H_403_5@
@H_403_5@
print("UTF-8 编码: ")@H_403_5@
for code in unicodeString.utf8 {@H_403_5@
print("\(code) ")@H_403_5@
}@H_403_5@
@H_403_5@
print("\n")@H_403_5@
@H_403_5@
print("UTF-16 编码: ")@H_403_5@
for code in unicodeString.utf16 {@H_403_5@
print("\(code) ")@H_403_5@
}@H_403_5@
UTF-8 编码:@H_403_5@
232@H_403_5@
143@H_403_5@
156@H_403_5@
233@H_403_5@
184@H_403_5@
159@H_403_5@
230@H_403_5@
149@H_403_5@
153@H_403_5@
231@H_403_5@
168@H_403_5@
139@H_403_5@
UTF-16 编码:@H_403_5@
33756@H_403_5@
25945@H_403_5@
31243@H_403_5@
Swift 支持以下几种字符串函数及运算符:@H_403_5@
1 @H_403_5@
isEmpty@H_403_5@
判断字符串是否为空,返回布尔值@H_403_5@
2 @H_403_5@
hasPrefix(prefix: String)@H_403_5@
检查字符串是否拥有特定前缀@H_403_5@
3 @H_403_5@
hasSuffix(suffix: String)@H_403_5@
检查字符串是否拥有特定后缀。@H_403_5@
4 @H_403_5@
Int(String)@H_403_5@
转换字符串数字为整型。 实例:@H_403_5@
let myString: String = "256"@H_403_5@
let myInt: Int? = Int(myString)@H_403_5@
5 @H_403_5@
String.characters.count@H_403_5@
计算字符串的长度@H_403_5@
6 @H_403_5@
utf8@H_403_5@
您可以通过遍历 String 的 utf8 属性来访问它的 UTF-8 编码@H_403_5@
7 @H_403_5@
utf16@H_403_5@
您可以通过遍历 String 的 utf8 属性来访问它的 UTF-16 编码@H_403_5@
8 @H_403_5@
unicodeScalars@H_403_5@
您可以通过遍历String值的unicodeScalars属性来访问它的 Unicode 标量编码.@H_403_5@
9 @H_403_5@
+@H_403_5@
连接两个字符串,并返回一个新的字符串@H_403_5@
10 @H_403_5@
+=@H_403_5@
连接操作符两边的字符串并将新字符串赋值给左边的操作符变量@H_403_5@
11 @H_403_5@
==@H_403_5@
判断两个字符串是否相等@H_403_5@
12 @H_403_5@
<@H_403_5@
比较两个字符串,对两个字符串的字母逐一比较。@H_403_5@
13 @H_403_5@
!=@H_403_5@
比较两个字符串是否不相等。@H_403_5@