如何在 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"]