正则表达式用于查找和替换 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"]

最新更新