Swift 如何检查句子是否包含特定的单词?
我不是在寻找如何在另一个字符串中找到一个字符串。我在找一句话。因此,解决方案应通过以下测试:Swift 如何检查句子是否包含特定的单词?,swift,string,Swift,String,我不是在寻找如何在另一个字符串中找到一个字符串。我在找一句话。因此,解决方案应通过以下测试: 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 se
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
您需要一个regex,在检查是否存在的值周围有一个单词边界
\b
:
let pattern = "(?i)\\bare\\b"
if string.rangeOfString(pattern, options: .RegularExpressionSearch) != nil ...
\bare\b
匹配任何完整单词的are
(不带字母/数字/下划线)。(?i)
标志确保搜索不区分大小写。请参阅
有关检查模式是否与字符串匹配的代码,请参阅
有关word boundary功能的更多信息,请参阅。您需要一个正则表达式,该正则表达式在检查是否存在的值周围带有word boundary
\b
:
let pattern = "(?i)\\bare\\b"
if string.rangeOfString(pattern, options: .RegularExpressionSearch) != nil ...
\bare\b
匹配任何完整单词的are
(不带字母/数字/下划线)。(?i)
标志确保搜索不区分大小写。请参阅
有关检查模式是否与字符串匹配的代码,请参阅
有关
\b
word boundary的作用的详细信息,请参阅。到目前为止您是否尝试过任何操作?事实上,您正在查找字符串中的字符串,但附加了a)不区分大小写和b)没有任何周围字母的条件。您尝试过任何操作吗?事实上,您正在查找字符串中的字符串,但是添加了a)不区分大小写和b)没有任何周围字母的条件。仅供参考:如果您只想将Are
或Are
作为整个单词进行匹配,但不想检测Are
或Are
或Are
等。请使用替换:让pattern=“\\b(?:Are | Are)\\b”
仅供参考:如果您只想将Are
或Are
作为整个单词进行匹配,但不想检测Are
或Are
或Are
等。请使用替代选项:让模式=“\\b(?:Are | Are)\\b”