一尘不染

Swift startsWith方法?

swift

在Swift中是否有诸如startsWith()方法之类的东西?

我基本上是在尝试检查某个字符串是否以另一个字符串开头。我也希望它不区分大小写。

如您所知,我只是在尝试做一个简单的搜索功能,但我似乎为此失败了。

这就是我想要的:

输入“ sa”应该给我“圣安东尼奥”,“圣达菲”等的结果。输入“ SA”或“ Sa”甚至是“ sA”也应该返回“圣安东尼奥”或“圣达菲”。

我在用

self.rangeOfString(find, options: NSStringCompareOptions.CaseInsensitiveSearch) != nil

在iOS9之前的版本中,它运行良好。但是,升级到iOS9后,它停止工作,现在搜索区分大小写。

    var city = "San Antonio"
    var searchString = "san "
    if(city.rangeOfString(searchString, options: NSStringCompareOptions.CaseInsensitiveSearch) != nil){
        print("San Antonio starts with san ");
    }

    var myString = "Just a string with san within it"

    if(myString.rangeOfString(searchString, options: NSStringCompareOptions.CaseInsensitiveSearch) != nil){
        print("I don't want this string to print bc myString does not start with san ");
    }

阅读 299

收藏
2020-07-07

共1个答案

一尘不染

使用 hasPrefix 代替 startsWith

例:

"hello dolly".hasPrefix("hello")  // This will return true
"hello dolly".hasPrefix("abc")    // This will return false
2020-07-07