我需要区分大小写地替换 Swift 字符串中的字符。
我一直在使用
replacingOccurrences(of:with:options:range:)
内置字符串函数将每个“a”更改为“/a/”,每个“b”更改为“/b/”,依此类推,如下所示:
stringConverted = stringConverted.replacingOccurrences(of: "a", with: "/a/", options: [])
然后我将每个“/a/”更改为其对应的字母,即“a”。我将每个“/b/”更改为相应的字母,即“q”,依此类推。
我的问题是我需要这个替换区分大小写。我查过这个,但我尝试过我发现的内容,但没有帮助。
我需要使用
range
参数吗?还是我做错了什么?
正如@Orkhan提到的,你可以像下面这样通过
options: .caseInsensitive
let a = "a"
let start = a.index(a.startIndex, offsetBy: 0)
let end = a.index(a.startIndex, offsetBy: a.count)
let range = start..<end
let value = a.replacingOccurrences(of: "a", with: "/a", options: .caseInsensitive, range: range)
print(value)
试试这个:
let oldString = "Change This, change this"
let newString = myString.replacingOccurrences(of: "change this", with: "to this", options: .caseInsensitive)
两者都适用于选项:.caseInsensitive