如何在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

脚注

  1. 请记住,在Strings上使用collection函数有一些边缘情况,这些情况可能会给您带来意想不到的结果,例如,在处理表情符号或其他带有重音字母的字素簇时。

以上是 如何在Swift中检查一个字符串是否包含另一个字符串? 的全部内容, 来源链接: utcz.com/qa/427653.html

回到顶部