为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

互换的青春 2019-07-12 16:47:31
如何在SWIFT中检查字符串是否包含另一个字符串?在……里面Objective-C控件中检查子字符串的代码。NSString是:NSString *string = @"hello Swift";NSRange textRange =[string rangeOfString:@"Swift"];if(textRange.location != NSNotFound){     NSLog(@"exists");}但我该怎么用斯威夫特呢?
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

延伸方式

SWIFT 4

extension 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")) // true

print(value.contains("bo"))    // false


print(value.containsIgnoringCase(find: "hello"))    // true

print(value.containsIgnoringCase(find: "Hello"))    // true

print(value.containsIgnoringCase(find: "bo"))       // false

通常SWIFT 4含方法,但是它可以从IOS 8.0+中获得。


SWIFT 3.1

你可以写分机contains:和containsIgnoringCase为String


extension 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")) // true

print(value.contains("bo"))    // false


print(value.containsIgnoringCase("hello"))    // true

print(value.containsIgnoringCase("Hello"))    // true

print(value.containsIgnoringCase("bo"))       // false


查看完整回答
反对 回复 2019-07-12
  • 3 回答
  • 0 关注
  • 5645 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信