Swift基础入门知识学习(5)-字符串及字符-讲给你懂

Swift基础入门知识学习(4)-基本运算符-讲给你懂

超速学习-重点笔记.pdf-CSDN下载

目录

字面量

字符串字面量

多行字符串字面量

初始化空字符串

字符串可变性

使用字符

连接字符及字符串

字符串插值

特殊符号

跳脱字符:

计算字符串中的字符数量

比较字符串

10个常用的字符串函数及运算符


理解难度
★★★☆☆
实用程度
★★★★★

字符指的是依照编码格式的一个位元组(简单来说就是一个英文字母、数字或符号),而字符串是有序的字符集合(简单说就是一段文字),皆是以一对双引号"前后包起来。

字面量

所谓字面量,就是指像特定的数字,字符串或者是布尔值这样,能够直接了当地指出自己的类型并为变量进行赋值的值。比如在下面:

let 一个数字 = 3         //整型字面量
let 一句话 = "Hello"   //字符串字面量
let 真假 = true        //布尔值字面量

字符串字面量

在程式码中包含一段预先定义的字符串值作为字符串字面量(string literal)。字符串字面量是由一对双引号""包着的具有固定顺序的文字字符集合,可以为常数和变数提供初始值。

// 将一个字符串字面量指派给一个常数
let 某句话 = "爱人如己"

多行字符串字面量

如果你的字符串需要以多行显示,可以使用前后成对的三个双引号"""包起来,来表示一个多行字符串:

// 显示多行字符串字面量
let 多行文字 = """
这就是多行文字
也就是多行字符串字面量
可以一并显示
"""

初始化空字符串

将空的字符串字面量指派给变数,或是也可以初始化一个新的String变数:

// 这两个是一样的意思
var 空话 = ""
var 另一个空话 = String()

字符串可变性

将一个特定的字符串指派给一个变数,之后还可以对其修改。而字符串指派给一个常数,则无法再做修改,例子如下:

var 可变的话 = "狗"
可变的话 = "书"
// “可变的话” 现在为 “书”

let 固定的话 = "太阳"
//固定的话 = "月亮" // 这行会报错误 因为常数不能被修改

使用字符

理解难度
★★★★☆
实用程度
★★☆☆☆

字符串是有序的字符集合,所以可以使用for-in回圈来遍历字符串中的每一个字符:

for character in "Dog!" {
    print(character)
}
// 依序打印出
// D
// o
// g
// !

连接字符及字符串

理解难度
★☆☆☆☆
实用程度
★★★★☆

可以简单的使用加号+将两个字符串连结在一起,加号指派运算+=同样也可以使用。字符也是一样的使用方式。

let 第一句打招呼 = "Hello"
let 第二句打招呼 = ", world ."
var 最后结果 = 第一句打招呼 + 第二句打招呼
// 打印出:Hello, world .
print(最后结果)

最后结果 += " Have a nice day ."
// 打印出:Hello, world . Have a nice day .
print(最后结果)

字符串插值

可以使用反斜线\接着小括号( ):\(变数、常数或表达式)来将其内的值插入到一个字符串中。

当需要向使用者显示某些信息时——无论是打印的消息、按钮上的文本,还是要在你的应用程序的显示的任何内容,通常会经常的使用字符串插值。特别是实际在应用程序中,动态插入字符串这一点很重要,因为它能够显示用户实际输入的内容,而不是我们自己预先键入的内容。

let 星期= "Sunday"
var 今天 = "It is \(str1) ."
// 打印出:It is Sunday .
print(今天)

// 表达式也可以
// 打印出:I have 13 cars .
print("I have \(1 + 2 * 6) cars .")

特殊符号

理解难度
★★★☆☆
实用程度
★★★☆☆

字符串型字面量中不能包含未转义的双引号 (")、未转义的反斜线(\)、回车符或换行符。

字符串中可以使用下面这些特殊符号

跳脱字符:

\0(空字符)
\\(反斜线)
\t(水平 tab)
\v(垂直制表符)
\n(换行)
\r(Return )
\"(双引号)
\'(单引号)

// 打印出 "Imagination is more important than knowledge" - Einstein
let wiseWords = "\"Imagination is more important than knowledge\" - Einstein"

计算字符串中的字符数量

let str2 = "What a lovely day !"

// 打印出字符数量:19
print(str2.count)

比较字符串

有三种方式来比较字符串:

字符串相同或不同 ==、!=
前缀相同 hasPrefix
后缀相同 hasSuffix
 

let str3 = "It is Sunday ."
let str4 = "It is Sunday ."
let str5 = "It is Saturday ."

// 两个字符串相同 所以成立
if str3 == str4 {
    print("Success")
}
// 打印出:Success

// str4 有前缀字符串 It is 所以成立
if str4.hasPrefix("It is") {
    print("Success")
}
// 打印出:Success

// str5 没有后缀字符串 Sunday . 所以不成立
if str5.hasSuffix("Sunday .") {
    print("Success")
} else {
    print("Failure")
}
// 打印出:Failure


可以看到有str.count或是str.hasPrefix()这种以小数点.连接的表示方式,代表的是这个变数的属性或是方法。

使用方法会依照其设定的规则表示,像是str.count是字符集合的字符数量。而str.hasPrefix()则是会对变数作处理后再返回。

10个常用的字符串函数及运算符

isEmpty 判断字符串是否为空,返回布尔值
hasPrefix(prefix: String) 检查字符串是否拥有特定前缀
hasSuffix(suffix: String) 检查字符串是否拥有特定后缀
Int(String) 转换字符串数字为整型
String.count 计算字符串的长度
+ 连接两个字符串,并返回一个新的字符串
+= 连接操作符两边的字符串并将新字符串赋值给左边的操作符变量
== 判断两个字符串是否相等
< 比较两个字符串,对两个字符串的字母逐一比较
!= 比较两个字符串是否不相等

我们如何正确思维-重点笔记-CSDN下载

Guess you like

Origin blog.csdn.net/weixin_42385177/article/details/121456393