Swift 4 contains 方法对于像 "as"这样的短单词并不起作用

标签 swift string substring

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

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

    print("noooo")
}

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

最佳答案

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

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

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

关于Swift 4 contains 方法对于像 "as"这样的短单词并不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51179910/

相关文章:

ios - 如何在 tableView 上反射(reflect) childChanges - IOS Swift Firebase

swift - 将 ImageView 保持在 ScrollView 范围之外。 Xcode、 swift

ios 8,Swift,IAP 收据验证

python - 在curl中使用python字符串输出

swift - 多部分形式(图像,参数)在 swift 中使用 Alamofire 发布请求

php - str_repeat 反向(收缩字符串)

C# 将 char 转换为 8x8 二进制的方法

javascript - 在 JavaScript 中获取反斜杠 (\) 后的字符串值

java - 替换扫描字符串中的特定单词并使用 Java 中的 substring() 连接

c++ - C++ 中 string::substr() 的运行时间是多少?