1. 字符串的截取
(1) 以prefix
、suffix
来截取字符串,必须包括起始或者结束部分的字符
// 文字列の初期化
let str = "Hello"
// 文字列の最初の3つの文字列をインターセプトする
let sub1 = str.prefix(3)
// 文字列の最後の3つの文字列をインターセプトする
let sub2 = str.suffix(3)
(2) 以index
来截取字符串,则可以截取任意部分的字符
// 文字列の初期化
let str = "Hello"
// 文字列の最後の3つの文字列をインターセプトする
let index = str.index(str.endIndex, offsetBy: -3)
let sub3 = str[index..<str.endIndex]
// 文字列を1文字目から4文字目まで切り捨てます(1文字目と4文字目を除く)
let indexOfStart = str.index(str.startIndex, offsetBy: 1)
let indexOfEnd = str.index(str.startIndex, offsetBy: 3)
let sub4 = str[indexOfStart..<indexOfEnd]
(3)直接获取任意位置的单个字符
// 文字列の初期化
let str = "Hello"
// 文字列の3文字目を取得する
let sub5 = str[2]
2. 字符串的删除
(1) 删除一段内容
// 文字列の初期化
var str = "Hello Swift"
// 文字列を1文字目から4文字目までを削除する(1文字目と4文字目を除く)
let indexOfStart = str.index(str.startIndex, offsetBy: 1)
let indexOfEnd = str.index(str.startIndex, offsetBy: 3)
str.removeSubrange(indexOfStart..<indexOfEnd)
(2) 删除单个字符
// 文字列の初期化
var str = "Just Test"
// 文字列を2文字目を削除する
let indexOfStart = str.index(str.startIndex, offsetBy: 1)
str.remove(at: indexOfStart)
3. 字符串的替换
(1) 替换一段内容,两个参数:替换的范围和用来替换的内容
// 文字列の初期化
var str = "Just Test"
// 文字列を1文字目から4文字目までを交換する(1文字目と4文字目を除く)
let indexOfStart = str.index(str.startIndex, offsetBy: 1)
let indexOfEnd = str.index(str.startIndex, offsetBy: 3)
str.replaceSubrange(indexOfStart..<indexOfEnd, with: "new")
(2) 替换一段内容,有返回值,两个参数:要替换的内容和用来替换的内容
// 文字列の初期化
var str = "JustTest"
// 文字列を交換する
let reStr = str.replacingOccurrences(of: "Test", with: "H")
4. 字符串的插入
(1) 插入一段内容,两个参数:用来插入的内容和插入的起点
// 文字列の初期化
var str = "JustTest"
// 挿入の開始位置
let indexOfStart = str.index(str.startIndex, offsetBy: 1)
str.insert(contentsOf: "SWIFT", at: indexOfStart)
(2) 插入一个字素,注意:只能是一个字素
// 文字列の初期化
var str = "JustTest"
// 挿入の開始位置
let indexOfStart = str.index(str.startIndex, offsetBy: 1)
str.insert("s", at: indexOfStart)
参考链接:https://blog.csdn.net/SSY_1992/article/details/86542445
Example:
import Foundation
extension String {
// 文字列の交換
// 特殊文字("-", " ", ",")の除く
// removeStr: 削除する文字
func specialCharactersRemove(removeStr: String) -> String {
return self.replacingOccurrences(of: removeStr, with: "", options: .literal, range: nil)
}
// 特殊文字の添加
// insertPosition: 挿入する文字の位置
// insertStr: 挿入する文字
// strCount: 元の文字列の長さ
func halfSpaceHyphenToAdd(insertPosition: [Int], insertStr: String, strCount: Int) -> String {
var str = self
guard str.count == strCount else {
return ""
}
for i in 0..<insertPosition.count {
let index = str.index(str.startIndex, offsetBy: insertPosition[i])
str.insert(contentsOf: insertStr, at: index)
}
return str
}
}