Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何检查句子是否包含特定的单词?_Swift_String - Fatal编程技术网

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”