[英]Regex to find and replace string starting and ending text in Swift
如何在 Swift 2.x 中查找和替换以(例如)“AB”开头并以“ZX”结尾的字符串?
编辑:我想保持在 AB 和 ZX 字符串之间。 例如
first situation: AB_asdad_ZX
second situation: _asdad_
(我想用空字符串(“”)替换但保持在 AB 和 ZX 之间)
你可以这样做: "\\\\bAB\\\\w+ZX\\\\b"
var strings = ["AB_any_ZX","AB_whatever_ZX","HELLO"]
for (index, str) in strings.enumerate() {
if let range = str.rangeOfString("\\bAB\\w+ZX\\b", options: .RegularExpressionSearch) {
strings[index] = str.substringWithRange(range.startIndex.successor().successor()..<range.endIndex.predecessor().predecessor())
}
}
print(strings) // "["_any_", "_whatever_", "HELLO"]\n"
这是否适合您的需要?
import Foundation
var strings = ["AB111ZX","CD123EF","AB222ZX","A123ZX","AB123X","AB123","123ZX"]
strings = strings.flatMap {
guard $0.hasPrefix("AB") && $0.hasSuffix("ZX") else { return nil }
return $0.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "ABZX"))
}
print(strings)
// ["111","222"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.