我想替换匹配正则表达式模式的字符串的一部分。
我有以下正则表达式模式:
(.+?)@test\.(.+?)
这是一个字符串替换模式:
$1@hoge\.$2
如何在Swift代码中使用它们?
答案 0 :(得分:8)
在Swift中,您可以使用stringByReplacingMatchesInString
进行基于正则表达式的替换。
以下是显示如何使用它的代码段:
MainPage
Swift 4.2更新:
<li class="dropdown"><a href="#">Products</a>
<ul class="products">
<li>Series</li>
<li >Purpose
<ul >
<li>Series123</li>
<li>Series456</li>
</ul>
</li>
</ul>
</li>
请注意,我将正则表达式更改为
let txt = "myname@test.com"
let regex = NSRegularExpression(pattern: "([^@\\s]+)@test\\.(\\w+)", options:nil, error: nil)
let newString = regex!.stringByReplacingMatchesInString(txt, options: nil, range: NSMakeRange(0, count(txt)), withTemplate: "$1@hoge.$2")
println(newString)
- 匹配let txt = "myname@test.com"
let regex = "([^@\\s]+)@test\\.(\\w+)"
let repl = "$1@hoge.$2"
print( txt.replacingOccurrences(of: regex, with: repl, options: [.regularExpression]) )
或空格([^@\\s]+)
- 按字面意思匹配@
@
- 按字面意思匹配@
,然后匹配1个或多个字母数字字符(test\\.(\\w+)
)。请注意,在替换字符串中,您无需转义句点。