小编典典

如何在 Swift 中检查一个字符串是否包含另一个字符串?

all

Objective-C检查 an 中的子字符串的代码NSString是:

NSString *string = @"hello Swift";
NSRange textRange =[string rangeOfString:@"Swift"];
if(textRange.location != NSNotFound)
{
    NSLog(@"exists");
}

但是我如何在 Swift 中做到这一点?


阅读 180

收藏
2022-03-07

共1个答案

小编典典

你可以用 Swift 做同样的调用:

斯威夫特 4 和斯威夫特 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. 请记住,在字符串上使用集合函数有一些极端情况,可能会给您带来意想不到的结果,例如在处理表情符号或其他字形簇(如重音字母)时。
2022-03-07