如何在Swift中检查一个字符串是否包含另一个字符串?
在Objective-C
代码中检查的子字符串NSString
是:
NSString *string = @"hello Swift";NSRange textRange =[string rangeOfString:@"Swift"];
if(textRange.location != NSNotFound)
{
NSLog(@"exists");
}
但是我该如何在Swift中做到这一点?
回答:
您可以使用Swift进行完全相同的调用:
Swift 4和Swift 5
在Swift 4中,String是Character
值的集合,在Swift 2和3中并不是这样,因此您可以使用以下更简洁的代码1:
let string = "hello Swift"if string.contains("Swift") {
print("exists")
}
迅捷3.0+
var string = "hello Swift"if string.range(of:"Swift") != nil {
print("exists")
}
// alternative: not case sensitive
if string.lowercased().range(of:"swift") != nil {
print("exists")
}
较早的斯威夫特
var string = "hello Swift"if string.rangeOfString("Swift") != nil{
println("exists")
}
// alternative: not case sensitive
if string.lowercaseString.rangeOfString("swift") != nil {
println("exists")
}
我希望这是一个有用的解决方案,因为包括我在内的某些人通过致电遇到了一些奇怪的问题containsString()
。1个
PS。别忘了import Foundation
脚注
- 请记住,在Strings上使用collection函数有一些边缘情况,这些情况可能会给您带来意想不到的结果,例如,在处理表情符号或其他带有重音字母的字素簇时。
以上是 如何在Swift中检查一个字符串是否包含另一个字符串? 的全部内容, 来源链接: utcz.com/qa/427653.html