【发布时间】:2018-03-12 00:14:57
【问题描述】:
我正在尝试确定输入字符串是否包含“n't”或“not”。 例如,如果输入是:
let part = "Hi, I can't be found!"
我想找到否定的存在。 我尝试过 input.contains、.range 和 NSRegularExpression。所有这些都成功找到了“not”,但没有找到“n't”。我也尝试过逃避角色。
'//REGEX:
let negationPattern = "(?:n't|[Nn]ot)"
do {
let regex = try NSRegularExpression(pattern: negationPattern)
let results = regex.matches(in: text,range: NSRange(part.startIndex..., in: part))
print("results are \(results)")
negation = (results.count > 0)
} catch let error {
print("invalid regex: \(error.localizedDescription)")
}
//.CONTAINS
if part.contains("not") || part.contains("n't"){
print("negation present in part")
negation = true
}
//.RANGE (showing .regex option; also tried without)
if part.lowercased().range(of:"not", options: .regularExpression) != nil || part.lowercased().range(of:"n't", options: .regularExpression) != nil {
print("negation present in part")
negation = true
}
这是一张图片:
【问题讨论】:
-
请不要使用您已经尝试过的代码的屏幕截图 - 直接在您的问题中添加代码。
-
谢谢。有什么想法吗?