02--swift之字符串

2.字面量swift

var s = "hello"//字面量數組

var s1: String = "hello"app


var c: Character = "a"spa

var s2: String = " 🐶"code

print(s2)orm

3.初始化空字符串對象

var s = ""索引

var s1 = String()unicode

print(s.isEmpty)rem

print(s1.isEmpty)

4.字符串的可變性

var s1 = "hello"

var s2 = s1+"world"

print(s2)

var s3 = "test"

s3.insert("t", atIndex: s3.startIndex)

print(s3)

5.字符串是值類型

值類型的賦值是拷貝,引用類型的賦值是地址傳遞,全部的結構體都是值類型的,全部的class類型的都是引用類型的

var s = "hello"

var s2 = s//copy,s,s2是兩個

print(s)

print(s2)

s = "world"

print(s)

print(s2)

//引用類型

class person {

var age: Int!

}

var p1 = person()

p1.age = 20

var p2 = p1//同一個對象,兩個名字

print(p1.age)

print(p2.age)


print("--------")

p1.age  = 21//改變p1的值,p2的值也會跟着改變

print(p1.age)

print(p2.age)

6.使用字符

var s = "hello"

//var c:Character

for c in s.characters{

print(c)

}


var c: Character = "A"//swift裏面字符也是使用雙引號

//用數組定義字符串

let cArray: [Character] = ["h","e","l","l","o"]

var s1 = String(cArray)

print(s1)

7.字符串的連接

var s1 = "hello"


var s2 = "world"

var s3 = s1+s2

print(s3)

s1+=s2

print(s1)

s1.appendContentsOf(s2)

print(s1)

var c: Character = "a"

s1.append(c)

print(s1)

8.字符串插值

var name = "tom"

var age = 20

var email = "tom@gmail.com"

var msg = "\(name),\(age),\(email)"

print(msg)

9.轉義字符

\0(空字符),\\(反斜槓),\t(水平製表符),\n(換行)

10.字符串的計數

var s = "hello world"

print(s.characters.count)

11.訪問和修改字符串

var s = "hello world"

print(s.startIndex)//起始位置

print(s.endIndex)// 結尾位置

print(s.startIndex.successor())//後面的

print(s.endIndex.predecessor())//前面的

print(s.startIndex.advancedBy(3))//某個索引位置的

遍歷字符串

var s = "hello"

for index in s.characters.indices{

print(s[index])

}

12.插入字符

var s = "hello"

var c: Character = "A"

s.insert(c, atIndex: s.endIndex)

print(s)

var s2 = "world"

s.insertContentsOf(s2.characters, at: s.endIndex)


print(s)

var s3 = "tom"

s.insertContentsOf(s3.characters, at: s.endIndex.advancedBy(-3))//若是是startindex,則是3

print(s)

13.刪除字符

var s = "hello"

//s.removeAtIndex(s.startIndex.advancedBy(3))

//print(s)//刪除某個字符

//刪除某個範圍的字符

let range = s.startIndex..<s.startIndex.advancedBy(2)

s.removeRange(range)

print(s)

14.比較字符串

var s1 = "section1 basic"

var s2 = "section2 basic"

print(s1==s2)

print(s1 != s2)

print(s1.hasPrefix("section1"))//前綴

print(s2.hasSuffix("basic"))//後綴

15.字符串的unicode表示

var dog = "dog!!🐶"

for code in dog.utf8{

print(code)//8位表示

}

print("---------")

for code in dog.utf16{

print(code)//16位表示

}

print("---------")

for code in dog.unicodeScalars{

print(code)//標量表示

}

相關文章
相關標籤/搜索