Swift 4包含方法不适用于诸如“ as”之类的简短单词

时间:2018-07-04 19:31:56

标签: swift string substring

我使用contains方法来查找字符串中是否包含相同的单词。但是这段代码显示“ hello”:

var a = "was founded"
if a.range(of: "as") != nil
{
    print("hello")
}else {

    print("noooo")
}

如何查找字符串中是否包含相同单词。我无法使用foreach循环做到这一点,因为有时我会搜索诸如“事实”之类的搭配

1 个答案:

答案 0 :(得分:2)

您需要使用正则表达式来确保您要查找的单词的两侧都有单词边界(而不是其他字母)。使用:

if a.range(of: "\\bas\\b", options: [.regularExpression], range: (a.startIndex..<a.endIndex), locale: nil) != nil {

正则表达式关键字\\b用于匹配单词边界。