在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 "); }
使用 hasPrefix 代替 startsWith 。
hasPrefix
startsWith
例:
"hello dolly".hasPrefix("hello") // This will return true "hello dolly".hasPrefix("abc") // This will return false