Swift字符串介绍和用法详细示例

本文概述

  • 如何创建一个字符串?
  • 空字符串
  • 字符串操作
  • Swift 4字符串函数和运算符
Swift 4字符串是有序字符集合, 例如” Hello, World!” 。并且它们由Swift 4数据类型String表示, 该数据类型又表示Character类型的值的集合。
如何创建一个字符串?可以通过使用字符串文字或创建String类的实例来创建字符串。
请参阅以下示例:
// String creation using String literalvar stringA = "Hello world!"print( stringA )// String creation using String instancevar stringB = String("This is srcmini")print( stringB )//Multiple line stringlet stringC = """This is anexample of multiple linestring by srcmini"""print(stringC)

输出
Hello world!This is srcminiThis is anexample of multiple linestring by srcmini

空字符串要创建空字符串, 可以使用空字符串文字或创建字符串类的实例。
要检查字符串是否为空, 可以使用布尔属性isEmpty。
例:
// Empty string creation using String literalvar stringA = ""if stringA.isEmpty {print( "stringA is empty" )} else {print( "stringA is not empty" )}// Empty string creation using String instancelet stringB = String()if stringB.isEmpty {print( "stringB is empty" )} else {print( "stringB is not empty" )}

输出
stringA is emptystringB is empty

字符串操作我们可以对Swift字符串进行很多操作。
字符串串联
+运算符用于在Swift中连接两个字符串或一个字符串和一个字符, 或两个字符。
例:
let constA = "Hello "let constB = "srcmini"var stringA = constA + constBprint( stringA )

输出
Hello srcmini

字符串插值
字符串插值用于通过混合常量, 变量, 文字和表达式的值并将其包含在字符串文字中来构造新的字符串值。插入字符串文字中的变量和常量的值用一对括号括起来, 并以反斜杠为前缀。
例:
var varA = 10let constA = 1000var varC:Float = 10.0var 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 srcmini"print( "\(varA), string length is \((varA.count))" )

输出
Hello srcmini, string length is 16

字符串比较
==运算符用于比较两个字符串变量或常量。
例:
var varA = "Hello, srcmini"var varB = "Hello, World!"if varA == varB {print( "\(varA) and \(varB) are equal" )} else {print( "\(varA) and \(varB) are not equal" )}

输出
Hello, srcmini and Hello, World! are not equal

字符串迭代
在Swift 4中, 字符串是值的集合, 因此我们可以使用循环对字符串进行迭代:
例:
for chars in "Welcometosrcmini" {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 = "srcmini"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字符串函数和运算符【Swift字符串介绍和用法详细示例】与Swift 4中的String相关的函数和运算符的列表:
Index Functions/Operators Usage
1) isEmpty 用于检查字符串是否为空。它指定一个布尔值。
2) hasPrefix(前缀:字符串) 检查给定参数字符串是否作为字符串前缀的功能。
3) hasSuffix(后缀:字符串) 检查给定参数字符串是否作为字符串的后缀存在的功能。
4) toInt() 它是将数字String值转换为Integer的函数。
5) count() 这是一个全局函数, 用于计算字符串中的字符数。
6) utf8 它指定一个属性以返回字符串的UTF-8表示形式。
7) utf16 它指定一个属性以返回字符串的UTF-16表示形式。
8) unicodeScalars 它指定一个属性以返回字符串的Unicode标量表示形式。
9) + 它是一个运算符, 用于连接两个字符串, 或者一个字符串和一个字符, 或者两个字符。
10) += 它是将字符串或字符追加到现有字符串的运算符。
11) == 它是确定两个字符串是否相等的运算符。
12) < 它是一个操作员, 可以进行字典比较, 以确定一个字符串的计算结果是否小于另一个字符串。
13) startIndex 用于获取字符串起始索引处的值。
14) endIndex 用于获取字符串结尾索引处的值。
15) Indices 它用于一一访问索引。即字符串中所有字符一一对应。
16) insert(” Value” , at:position) 用于在某个位置插入值。
17) remove(at:position)removeSubrange(range) 它用于删除某个位置的值或从字符串中删除值的范围。
18) reversed() 它用于返回字符串的反向。

    推荐阅读