我对正则表达式很陌生,需要用正则表达式来执行特定的任务。我需要一个正则表达式来执行全局搜索,并检查字符串中是否有3个或更多的连续数字,如果是,则将所有数字替换为"xxxx“。
例如,字符串
abcdef 12 quews 4567
应改为
abcdef XX quews XXXX
任何帮助都将不胜感激。谢谢。
发布于 2018-03-07 09:11:23
已更新
使用此
func testingRegex6(text:String) ->String{
do{
var finalText = text
let componentNSString = NSString.init(string:text)
let regex = try NSRegularExpression(pattern: "\\d+", options:[.dotMatchesLineSeparators])
let matches = regex.matches(in: text ,options: [], range: NSMakeRange(0, componentNSString.length)).reversed()
if(matches.filter({$0.range.length >= 3}).count > 0) { //here we check if we have any substring containing 3 o more digits
for result3 in matches {
finalText = finalText.replacingOccurrences(of: componentNSString.substring(with: result3.range), with: Array(repeating: "X", count: result3.range.length).joined())
}
}
return finalText
}
catch{
return ""
}
return ""
}输入 "abcdef 12 quews 4567“Log "abcdef XX quews XXXX” 输入 "abcdef 12 que82ws 45“Log "abcdef 12 que82ws 45”
https://stackoverflow.com/questions/49147442
复制相似问题