小编典典

Swift 的startsWith 方法?

all

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

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

正如您可能会说的那样,我只是想做一个简单的搜索功能,但我似乎在这方面失败了。

这就是我想要的:

输入“sa”应该给我“San Antonio”、“Santa Fe”等的结果。输入“SA”或“Sa”甚至“sA”也应该返回“San
Antonio”或“Santa Fe”。

我正在使用

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 ");
    }

阅读 133

收藏
2022-08-27

共1个答案

小编典典

使用 hasPrefix 而不是 startsWith.

例子:

"hello dolly".hasPrefix("hello")  // This will return true
"hello dolly".hasPrefix("abc")    // This will return false
2022-08-27