5
正規表現のパターンと一致する文字列の一部を置き換えたい。文字列を素早くregexに置き換えよう
私は、次の正規表現パターンがあります。
(.+?)@test\.(.+?)
をそして、これは文字列置換パターンです:私はスウィフトコード内でそれらを使用することができますどのように
[email protected]\.$2
?
正規表現のパターンと一致する文字列の一部を置き換えたい。文字列を素早くregexに置き換えよう
私は、次の正規表現パターンがあります。
(.+?)@test\.(.+?)
をそして、これは文字列置換パターンです:私はスウィフトコード内でそれらを使用することができますどのように
[email protected]\.$2
?
Swiftでは、stringByReplacingMatchesInString
を正規表現に置き換えることができます。 @
または空白
@
以外の1つの以上の文字にマッチする - 私は
([^@\\s]+)
に正規表現を変更し let txt = "[email protected]"
let regex = NSRegularExpression(pattern: "([^@\\s]+)@test\\.(\\w+)", options:nil, error: nil)
let newString = regex!.stringByReplacingMatchesInString(txt, options: nil, range: NSMakeRange(0, count(txt)), withTemplate: "[email protected]$2")
println(newString)
注:ここでは
はそれを使用する方法を示すスニペットです -@
と完全に一致します。test\\.(\\w+)
-と一致します。文字通り、次に1文字以上の英数字(\w+
)。置換文字列では、ピリオドをエスケープする必要はありません。
ありがとうございます! @stribizhev – naohide
私は閉包を取るRegExの置換メソッドを書いた:http://eon.codes/blog/2017/08/03/regex-replace-with-closure/ – eonist
@GitSync私は現在の問題が必要とは思わないクロージャが有効な正規表現で解決されます。それでも、それは他人に助けになるかもしれない、確かに。 –