我在使用 ReplaceOccurrences 来替换 swift 5 和 Xcode 12 中 TextView 中某些特定关键字后的单词时遇到问题。
例如: 我的 TextView 将具有以下字符串“NAME\JOHN PHONE\555444333”
“姓名”和“电话”将是唯一的,因此每当我更改正确的字段时,我想更改此 TextView 中的姓名或电话。
例如,让我们使用代码将 JOHN 更改为 CLOE
txtOther.text = txtOther.text.replacingOccurrences(of: "NAME(.*?)\\s", with: "NAME\\\(new_value) ", options: .regularExpression)
print (string)
输出:“NAMECLOE”而不是“NAME\CLOE”
我无法根据正则表达式得到反斜杠来打印。
或者也许更改正则表达式只是为了将“NAME”之后的 JOHN 更改为 CLOE
谢谢!!!
阿里尔
最佳答案
您可以通过使用原始字符串作为正则表达式来解决此问题,即用#
包围的字符串
let pattern = #"(NAME\\)(.*)\s"#
请注意,名称和\位于单独的组中,替换时可以引用
let output = string.replacingOccurrences(of: pattern, with: "$1\(new_value) ", options: .regularExpression)
关于swift - swift 中带反斜杠的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67692742/