7 字符串删除
1. 删除某个字符
我们通过字符串的str.remove(at:Index)方法来删除示例代码如下:
1 | var str = "swift" 2 | str.remove(at: str.startIndex)//wift 3 | print("删除第一个字符:\(str)") 4 | str.remove(at: str.index(before: str.endIndex))//wif 5 | print("删除最后一个字符:\(str)") |
运行结果:
删除第一个字符:wift
删除最后一个字符:wif
2. 删除某个范围的字符串
删除某个范围内的字符串,我们一般先定义一个范围。然后调用str.removeSubrange(bounds: Range<Index>)方法删除,示例代码如下:
1 | var str = "hello,swift" 2 | let range = str.index(str.endIndex, offsetBy: -6)..<str.endIndex 3 | str.removeSubrange(range) 4 | print("删除指定范围的字符:\(str)") |
运行结果:删除指定范围的字符:hello
例子中,第2行代码表示定义的范文从末尾开始向前6个字符串。第3行代码表示删除,swift这个6个字符。
3. 删除全部
使用str.removeAll()方法进行删除字符串全部内容
示例代码如下:
1 | var str = "hello" 2 | str.removeAll() 3 | print("删除全部字符:\(str)") |
运行结果:删除全部字符:
删除全部字符后为空字符。
8 字符串提取
我们有时需要把字符串中某段提取出来,我们利用str.subString方法经常用到的有三种方法:
str.substring(from:Index) 从开始提取到某个下标
str.substring(to:Index)从某个下标提取到结束
str.substring(with:Range<Index>)提取某个范围
示例代码如下:
1 | var str = "hello swift" 2 | var str1 = str.substring(from: str.startIndex) 3 | print("str1:\(str1)") 4 | var str2 = str.substring(to: str.startIndex) 5 | print("str2:\(str2)") 6 | let range = str.index(str.endIndex, offsetBy: -6)..<str.endIndex 7 | var str3 = str.substring(with: range) 8 | print("str3:\(str3)") |
运行结果:
str1:hello swift
str2:
str3: swift
以光标为临界点进行提取时方便我们理解,不用考虑包含或不包含前后元素的问题。