Python3字符串

字符串和字符

本节内容囊括:

  • 字符串字面量
  • 初阶化空字符串
  • 字符串可变性
  • 字符串的值类型
  • 利用字符
  • 算算字符数量
  • 三番四遍字符串和字符
  • 字符串插值
  • 正如字符串
  • 字符串大小写
  • Unicode

 ①字符串相比较

<a name = “字符串字面量”></a>字符串字面量

字符串字面量是由双引号 (“”) 包裹着的具有定位顺序的文书字符集。

let someString = "Some string literal value"

字符串字面量能够分包以下特殊字符:

  • 转义字符(空字符)、\(反斜线)、t(水平制表符)、n(换行符)、r(回车符)、"(双引号)、'(单引号)。
  • Unicode
    标量,写成u{n}(u为小写),其中n为专断的生机勃勃到柒位十八进制数。

1、相比字符串是还是不是风流洒脱律:

<a name = “开头化空字符串”></a>开始化空字符串

var emptyString = ""               // 空字符串字面量
var anotherEmptyString = String()  // 初始化 String 实例

==:使用==来相比五个字符串内的value值是还是不是同样

<a name = “字符串可变性”></a>字符串可变性

在 Objective-C 和 Cocoa
中,您通过甄选几个例外的类(NSString和NSMutableString)来钦定该字符串是还是不是足以被更动,斯威夫特中的字符串是还是不是足以改过仅透过定义的是变量照旧常量来支配,达成了多样类型可变性操作的联合。

is:比很多少个字符串的id值。

<a name = “字符串的值类型”></a>字符串的值类型

斯威夫特 的String类型是值类型。
借让你创制了三个新的字符串,那么当其展开常量、变量赋值操作或在函数/方法中传递时,会进展值拷贝。
任何处境下,都会对原来就有字符串值创立新别本,并对该新别本实行传递或赋值操作。

注意

与 Cocoa 中的NSString分歧,当您在 Cocoa
中开创了二个NSString实例,并将其传递给三个函数/方法,大概赋值给一个变量,您传递或赋值的是该NSString实例的叁个援用,除非您非常须求举办值拷贝,不然字符串不会扭转新的别本来进行赋值操作。

在实际上编写翻译时,斯维夫特编写翻译器会优化字符串的应用,使实际的复制只爆发在相对少不了的气象下,那意味着你将字符串作为值类型的同一时间可以获取极高的习性。

2、字符串的尺寸相比较

<a name = “使用字符”></a>使用字符

斯威夫特 的String类型表示一定类别的Character(字符卡塔 尔(英语:State of Qatar) 类型值的聚众。
每三个字符值代表二个 Unicode 字符。
您可接纳for-in循环来遍历字符串中的每叁个字符:

for character in "Dog!🐶" {
    println(character)
}

len():展现字符串的长度,再次来到数字整型。能够张开长度的可比。

<a name = “总结字符数量”></a>总计字符数量

经过调用全局count(_:)函数,并将字符串作为参数举办传递,可以获得该字符串的字符数量。

注意:

不同的 Unicode 字符以致相像 Unicode
字符的不等代表方法大概必要分化数量的内部存款和储蓄器空间来存款和储蓄。所以 Swift
中的字符在三个字符串中并不一定占用相近的内部存款和储蓄器空间。因而字符串的尺寸一定要通过迭代字符串中每二个字符的长短来進展计算。假若你正在管理四个长字符串,须求静心countElements函数必需遍历字符串中的字符以精准测算字符串的长度。
别的部必要要注意的是经过countElements归来的字符数量并不三番两次与分包相近字符的NSStringlength天性相似。NSStringlength质量是基于利用
UTF-16 表示的十多少人代码单元数字,并不是依据 Unicode
字符。为了缓慢解决这么些难点,NSStringlength属性在被 Swift
String访谈时会成为utf16count

3、使用相比运算符

<a name = “连接字符串和字符”></a>连接字符串和字符

  • 字符串能够透过加法运算符(+卡塔 尔(英语:State of Qatar)相加在同步
  • 加法赋值运算符 (+=) 将二个字符串增添到叁个早已存在字符串变量上
  • 能够用将append主意将八个字符附加到二个字符串变量的尾部

>、<、> = 、<
=、比较的家有家规为:从第三个字符初步相比较,排序在前边的假名称叫小,当贰个字符串全体字符和另三个字符串的前有的字符相仿不经常候,长度长的字符串为大。

<a name = “字符串插值”></a>字符串插值

字符串插值是风度翩翩种构建新字符串的法子,能够在里面蕴藏常量、变量、字面量和表明式。
您插入的字符串字面量的每大器晚成项都棉被服装进在以反斜线为前缀的圆括号中:

let multiplier = 3
let message = "(multiplier) 乘以 2.5 是 (Double(multiplier) * 2.5)"
// message 是 "3 乘以 2.5 是 7.5"

注意:

插值字符串中写在括号中的表明式不能够饱含非转义双引号 (“) 和反斜杠
(),并且无法富含回车或换行符。

 ②字符串运算符

<a name = “相比较字符串”></a>相比较字符串

图片 1

字符串相等

假若多个字符串以平等顺序包括完全相似的字符,则以为互相字符串相等:

 

前缀/后缀相等

经过调用字符串的hasPrefix/hasSuffix主意来检查字符串是不是具备一定前缀/后缀。
四个主意均需求以字符串作为参数字传送入并传播Boolean值。
八个艺术均实践基本字符串和前缀/后缀字符串之间每一种字符的可比操作。

③字符串截取

<a name = “字符串大小写”></a>字符串大小写

你可以经过字符串的uppercaseStringlowercaseString属性来访谈大写/小写版本的字符串。

图片 2

<a name = “Unicode”></a> Unicode

  • UTF-8 代码单元集合 (利用字符串的utf8品质举行寻访)
  • UTF-16 代码单元集合 (利用字符串的utf16个性举办访谈)
  • 十八个人的 Unicode 标量值会集 (利用字符串的unicodeScalars品质举行拜会)

④转义字符

图片 3

⑤占位符

图片 4

 ⑥字符串内置函数

图片 5

图片 6

图片 7

 

相关文章