Avatar ·

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

大家好!我是 Swift 新手,从 Objective-C 迁移过来,一直搞不清楚字符串操作。在 Objective-C 中,我用 `rangeOfString:` 检查子字符串是否存在,例如: ```objc NSString *string = @"hello Swift"; if ([string rangeOfString:@"Swift"].location != NSNotFound) { NSLog(@"字符串包含 'Swift'"); } ``` 但在 Swift 中,我发现字符串是结构体而不是对象,没有 `rangeOfString` 方法。我尝试用 `containsString`,但编译器报错说没有这个方法。我写了这样的代码: ```swift let string = "hello Swift" if string.containsString("Swift") { print("字符串包含 'Swift'") } ``` 报错:`Value of type 'String' has no member 'containsString'`。我查了一下,据说在 Swift 3 及以上版本中方法被重命名了,但我还是搞不清楚正确用法。我使用的是 Xcode 11 和 Swift 5。 另外,我还想知道如何进行不区分大小写(case-insensitive)的包含检查,以及如何搜索带有特定条件的子字符串。