Swift startsWith方法? [英] Swift startsWith method?

查看:292
本文介绍了Swift startsWith方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Swift中是否存在startsWith()方法或类似的东西?

Is there such thing as a startsWith() method or something similar in Swift?

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

I'm basically trying to check if a certain string starts with another string. I also want it to be case insensitive.

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

As you might be able to tell, I'm just trying to do a simple search feature but I seem to be failing miserably at this.

这就是我想要的:

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

typing in "sa" should give me results for "San Antonio", "Santa Fe", etc. typing in "SA" or "Sa" or even "sA" should also return "San Antonio" or "Santa Fe".

我正在使用

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

它工作得很好。然而,升级到iOS9后,它停止工作,现在搜索区分大小写。

prior to iOS9 and it was working just fine. After upgrading to iOS9, however, it stopped working and now searches are case sensitive.

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


推荐答案

使用 hasPrefix 而不是 startsWith

use hasPrefix instead of startsWith.

示例:

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

这篇关于Swift startsWith方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆