Swift 字符串中区分大小写的字符替换

问题描述 投票:0回答:2

我需要区分大小写地替换 Swift 字符串中的字符。

我一直在使用

replacingOccurrences(of:with:options:range:)
内置字符串函数将每个“a”更改为“/a/”,每个“b”更改为“/b/”,依此类推,如下所示:

stringConverted = stringConverted.replacingOccurrences(of: "a", with: "/a/", options: [])

然后我将每个“/a/”更改为其对应的字母,即“a”。我将每个“/b/”更改为相应的字母,即“q”,依此类推。

我的问题是我需要这个替换区分大小写。我查过这个,但我尝试过我发现的内容,但没有帮助。

我需要使用

range
参数吗?还是我做错了什么?

swift string
2个回答
10
投票

正如@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)

0
投票

试试这个:

let oldString = "Change This, change this"

let newString = myString.replacingOccurrences(of: "change this", with: "to this", options: .caseInsensitive)

两者都适用于选项:.caseInsensitive

© www.soinside.com 2019 - 2024. All rights reserved.