字符串常见操作
1.字符串是值类型
1.String值在传递给方法或者函数的时候会被复制过去; 2.赋值给常量或者变量的时候也是一样的; 3.Swift编译器优化了字符串使用的资源,实际上拷贝只会在确实需要的时候才进行
var str: String = "abc"
var str1 = str
print(str==str1)
str += "def"
print(str)
print(str1)
print(str=str1)
2. 操作字符串
1.for -in 循环遍历String中的每一个独立的Character 2.Character类型 3.String值可以通过传入Character数组来构造
for character in "Dong!小狗" {
print(character)
}
let carCharacters: [Character] = ["C","a","t","!"]
let catString = String(carCharacters)
print(catString)
3.字符串拼接
1.使用加运算符(+)创建新字符串;
2.使用加赋值符号(+=)在已经存在的String值末尾追加一个String值
3.使用String类型的append()方法来可以给一个String变量的末尾追加Character值
4.字符串插值
1.字符串插值是一种从混合常量,变量,字面量和表达式的字符串字面量构造新String值得方法; 2.每一个你插入到字符串字面量的元素都要被一对圆括号包裹,然后使用反斜杠前缀 3.类似于NSString的stringWithFormat方法,但是更加简单,更强大
let multiplier = 3
let meassage = "\(multiplier) times 2.5 is \(Double(multiplier)*2.5)"
print(meassage)
5.字符串索引
1.每一个String值都有相关的索引类型,String.index ,它相当于每个Character在字符串中的位置; 2.startIndex属性来访问String中第一个Character的位置.endIndex属性就是String中最后一个字符后的位置; 3.endIndex属性并不是字符串下标脚本的合法实际参数; 4.如果String为空,则startIndex和endIndex相等; 5.使用greeting.index(before: )和index(after: )方法来访问给定索引的前后 6.要访问给定索引更远的索引,你可以使用index(_, offsetBy: ); 7.使用indeices属性来访问字符串中每个字符串的索引; 注意事项:String不能使用下标的方法取值.
var greeting = "Gunten Tag!"
print([greeting.startIndex])
print([greeting.endIndex])
1.插入字符,使用insert(_, at: )方法; 2.插入另外一个字符串的内容到特定的索引,使用insert(contentsOf: , at: )方法
greeting.insert(contentsOf:"god" , at:greeting.endIndex )
1.移除字符串,使用过remove(at: )方法 2.移除一小段特定范围的字符串,使用removeSubrange(Range<String.Index>)方法
|