Swift - 字符串

Swift - 字符串 首页 / Swift入门教程 / Swift - 字符串

Swift 4中的字符串是字符的有序集合,如" Hello,Learnfk!"。它们由Swift 4数据类型 String 字符串表示,而数据类型又是 Character 类型的值的集合。

创建字符串

您可以通过使用字符串文字或创建String字符串类的来创建字符串,如下所示:

//使用字符串字面量创建字符串
var stringA="Hello, Swift 4!"
print( stringA )

//使用 String 实例创建字符串
var stringB=String("Hello, Swift 4!")
print( stringB )

//多行字符串

let stringC="""
Hey this is a
example of multiple Line
string by LearnfkPoint 

"""
print(stringC)

编译并执行上述代码后,将产生以下输出

Hello, Swift 4!
Hello, Swift 4!
Hey this is a
example of multiple Line
string by LearnfkPoint

空字符串

您可以通过使用空字符串文字或创建String类的来创建空字符串,如下所示。您还可以使用布尔属性 isEmpty 检查字符串是否为空。

链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-strings.html

来源:LearnFk无涯教程网

//使用字符串文字创建空字符串
var stringA=""

if stringA.isEmpty {
   print( "stringA is empty" )
} else {
   print( "stringA is not empty" )
}

//使用 String 实例创建空字符串
let stringB=String()

if stringB.isEmpty {
   print( "stringB is empty" )
} else {
   print( "stringB is not empty" )
}

编译并执行上述代码后,将产生以下输出 -

stringA is empty
stringB is empty

字符串常量

您可以通过使用 let 关键字将String字符串分配给变量来指定是修改字符串,如下所示-

//stringA 可以修改
var stringA="Hello, Swift 4!"
stringA +="--Readers--"
print( stringA )

//stringB 不能修改
let stringB=String("Hello, Swift 4!")
stringB +="--Readers--"
print( stringB )

编译并执行上述代码后,将产生以下输出 -

Playground execution failed: error: <EXPR>:10:1: error: 'String' is not
convertible to '@lvalue UInt8'
stringB +="--Readers--"

字符串插值

字符串插值是通过将常量,变量,文字和表达式的值包含在字符串文字中来构造新的String字符串值的方法。

var varA=20
let constA=100
var varC:Float=20.0

var stringA="\(varA) times\(constA) is equal to\(varC * 100)"
print( stringA )

编译并执行上述代码后,将产生以下输出 -

20 times 100 is equal to 2000.0

字符串拼接

您可以使用+运算符来连接两个字符串或一个字符串和一个字符或两个字符。

let constA="Hello,"
let constB="Learnfk!"

var stringA=constA + constB
print( stringA )

编译并执行上述代码后,将产生以下输出 -

Hello,Learnfk!

字符串长度

Swift 4字符串没有 length 属性,但是可以使用全局count()函数对字符串中的字符数进行计数。

var varA="Hello, Swift 4!"

print( "\(varA), length is\((varA.count))" )

编译并执行上述代码后,将产生以下输出 -

Hello, Swift 4!, length is 15

字符串比较

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

var varA="Hello, Swift 4!"
var varB="Hello, Learnfk!"

if varA == varB {
   print( "\(varA) and\(varB) are equal" )
} else {
   print( "\(varA) and\(varB) are not equal" )
}

编译并执行上述代码后,将产生以下输出 -

Hello, Swift 4! and Hello, Learnfk! are not equal

字符串迭代

字符串再次是swift 4中值的集合,因此我们可以使用循环在字符串上进行迭代。 -

for chars in "ThisString" {
   print(chars, terminator: " ")
}

编译并执行上述代码后,将产生以下输出 -

T h i s S t r i n g

Unicode字符串

您可以通过迭代字符串的utf8和utf16属性来访问字符串的UTF-8和UTF-16表示形式:

var unicodeString="Dog???"

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: 
68 
111 
103 
63 
63 
63 


UTF-16 Codes: 
68 
111 
103 
63 
63 
63 

常用函数

Swift 4支持与字符串有关的各种方法和运算符-

Sr.NoFunctions/Operators & Purpose
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标量表示形式的属性。

9

+

运算符以连接两个字符串,或一个字符串和一个字符,或两个字符。

10

+ =

将字符串或字符追加到现有字符串的运算符。

11

==

运算符确定两个字符串是否相等。

12

<

运算符执行词典比较,以确定一个字符串的求值是否小于另一个字符串。

13

startIndex

在字符串的起始索引处获取值。

14

endIndex

获取字符串结尾索引处的值。

15

Indices

逐一访问索引。即字符串中所有字符一一对应。

16

insert("value",at:position)

在某个位置插入值。

17

remove(at:position)

removeSubrange(range)

删除某个位置的值,或从字符串中删除一系列值。

18

reversed()

返回字符串的反向

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

TensorFlow快速入门与实战 -〔彭靖田〕

从0开发一款iOS App -〔朱德权〕

Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕

MySQL 必知必会 -〔朱晓峰〕

说透区块链 -〔自游〕

零基础入门Spark -〔吴磊〕

编程高手必学的内存知识 -〔海纳〕

后端工程师的高阶面经 -〔邓明〕

LangChain 实战课 -〔黄佳〕

好记忆不如烂笔头。留下您的足迹吧 :)