regex - Swift 3 replacingOccurrences 正则表达式

标签 regex swift

我的 replacingOccurrences 函数有问题。我有一个这样的字符串:

let x = "&john &johnny &johnney"

我需要做的只是删除“&john”

所以我有这段代码:

y = "&john"
x = x.replacingOccurrences(of: y, with: " ", options: NSString.CompareOptions.regularExpression, range: nil)

我遇到的问题是,这会删除 john 的所有实例......我只剩下:

"ny ney"

我也考虑过设置范围,但是,这并不能真正解决我的问题,因为名称的顺序可能不同。

最佳答案

首先,您的代码无法编译,因为 x 必须是 var

要仅使用正则表达式删除 &John,您需要检查查询的结尾是否为单词边界:

var x = "&john &johnny &johnney"

let pattern = "&john\\b"
x = x.replacingOccurrences(of: pattern, with: " ", options: .regularExpression)

关于regex - Swift 3 replacingOccurrences 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43576187/

相关文章:

javascript - 我想使用 Javascript Replace() 添加 html 标签(但它以字符串形式返回它们)

swift - 如何区分 Swift 中的泛型值是什么?

正则表达式以字符串开头和/或结尾 - 如何简化?

javascript - 正则表达式仅使用替换方法返回匹配组

ios - 使用未声明的类型 'UIViewController'

ios - 如何在共享扩展中集成 Fabric/Crashlytics

ios - swrevealviewcontroller 改变 View

ios - 如何通过放置实际颜色来分配颜色

java - 如何在java中用两个单引号替换字符串中的单引号?

javascript - 在JavaScript中将不同的字符串转换为snake_case