swift - swift 中带反斜杠的正则表达式

标签 swift regex uitextview

我在使用 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/

相关文章:

python - 跳过正则表达式中的前导数字?

ios - uitextview 成为第一响应者后,UIButton 不调度触摸事件

ios - iOS 共享扩展上的 Firebase Analytics

iphone - 创建一个仅包含 TextView /字符串和按钮 SWIFT ios 8 的弹出窗口

PHP 正则表达式 : exclude href anchor tags

mysql - 用于起始字符序列 mysql 5.1 的正则表达式

ios - UIPopOver、UITextView 和自动调整大小

Swift UITextView LayoutManager 子类

json - JSON 输出不包含 key : "value"

ios - UIDatePicker 快速显示错误的时间