我不是在寻找如何在另一个字符串中找到字符串。我正在寻找一个词。所以解决方案应该通过这些测试:
let result: Bool = senx.contains(word: "are")
let sen1 = "We are good." //true
let sen2 = "We care about you." //false
let sen3 = "are" //true
let sen4 = "are." //true
let sen5 = "Are." //true
let sen6 = "I have a flare." //false
答案 0 :(得分:4)
您需要一个带有字边界\b
的正则表达式,围绕您检查其存在的值:
let pattern = "(?i)\\bare\\b"
if string.rangeOfString(pattern, options: .RegularExpressionSearch) != nil ...
\bare\b
匹配整个单词的任何are
(不在前面或后面跟着字母/数字/下划线。(?i)
标志确保不区分大小写的搜索。请参阅{{3 }}
请参阅the regex demo以获取用于检查模式是否与字符串匹配的代码。
有关\b
字边界的详细信息,请参阅this SO answer。