图片 7

Python3基本数据类型,字符串和字符

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>字符串的值类型

Swift 的String类型是值类型。
假设您创立了一个新的字符串,那么当其开展常量、变量赋值操作或在函数/方法中传送时,会展开值拷贝。
任何动静下,都会对本来就有字符串值创设新别本,并对该新别本进行传递或赋值操作。

注意

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

在实质上编写翻译时,Swift编写翻译器会优化字符串的使用,使实际的复制只发生在相对少不了的情事下,那意味着你将字符串作为值类型的还要能够博得非常高的性质。

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>连接字符串和字符

  • 字符串能够通过加法运算符(+卡塔尔国相加在协同
  • 加法赋值运算符 (+=) 将贰个字符串增加到二个早就存在字符串变量上
  • 能够用将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质量实行访问)
  • 21个人的 Unicode 标量值集结 (利用字符串的unicodeScalars属性举行寻访)

④转义字符

图片 3

⑤占位符

图片 4

 ⑥字符串内置函数

图片 5

图片 6

图片 7

 

发表评论