我想检查一个字符串是否是另一个字符串的一部分,但只是作为一个独立的术语,而不是另一个单词的一部分。我在斯威夫特工作。
E.g。这是我希望检查" mon"
的内容这是一个很好的方法吗? (在 containsString 和正则表达式之类的NSString函数之间来回传递)
答案 0 :(得分:3)
答案 1 :(得分:1)
let regex = NSRegularExpression(pattern: "\\bmon\\b", options: NSRegularExpressionOptions.CaseInsensitive, error: nil)!
func isMatch(str: String) -> Bool {
return regex.firstMatchInString(str, options: nil, range: NSRange(location: 0, length: str.utf16Count)) != Optional.None
}
["Mon", "mon", " Mon", " Mon " , "Monday", "Monster", "Hormons"].map(isMatch)
// yields [true, true, true, true, false, false, false]
答案 2 :(得分:0)
以下适用于Swift 2.
let regex = try! NSRegularExpression(pattern: "\\bmon\\b", options: NSRegularExpressionOptions.CaseInsensitive)
func isMatch(str: String) -> Bool {
return regex.firstMatchInString(str, options: .ReportCompletion , range: NSRange(location: 0, length: str.characters.count)) != Optional.None
}
["Mon", "mon", " Mon", " Mon " , "Monday", "Hormons"].map(isMatch)
// Yields [true, true, true, true, false, false]