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

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

在……里面Objective-C控件中检查子字符串的代码。NSString是:

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

但我该怎么用斯威夫特呢?


互换的青春
浏览 5648回答 3
3回答

慕尼黑5688855

延伸方式SWIFT 4extension String {    func contains(find: String) -> Bool{        return self.range(of: find) != nil    }    func containsIgnoringCase(find: String) -> Bool{        return self.range(of: find, options: .caseInsensitive) != nil    }}var value = "Hello world"print(value.contains("Hello")) // trueprint(value.contains("bo"))    // falseprint(value.containsIgnoringCase(find: "hello"))    // trueprint(value.containsIgnoringCase(find: "Hello"))    // trueprint(value.containsIgnoringCase(find: "bo"))       // false通常SWIFT 4含方法,但是它可以从IOS 8.0+中获得。SWIFT 3.1你可以写分机contains:和containsIgnoringCase为Stringextension String {    func contains(_ find: String) -> Bool{     return self.range(of: find) != nil   }   func containsIgnoringCase(_ find: String) -> Bool{     return self.range(of: find, options: .caseInsensitive) != nil    } }旧SWIFT版本extension String {    func contains(find: String) -> Bool{       return self.rangeOfString(find) != nil     }    func containsIgnoringCase(find: String) -> Bool{       return self.rangeOfString(find, options: NSStringCompareOptions.CaseInsensitiveSearch) != nil     }}例子:var value = "Hello world"print(value.contains("Hello")) // trueprint(value.contains("bo"))    // falseprint(value.containsIgnoringCase("hello"))    // trueprint(value.containsIgnoringCase("Hello"))    // trueprint(value.containsIgnoringCase("bo"))       // false
打开App,查看更多内容
随时随地看视频慕课网APP