我想在這個問題同樣的問題:Swift:String包含字符串(不使用NSString)?
How do I check if a string contains another string in Swift?
但現在幾個月後不知是否可以在不使用的NSString做些什麼呢? 我很好,簡單的包含方法會很好。 我搜索了網頁和文檔,但我什麼也沒找到!
我想在這個問題同樣的問題:Swift:String包含字符串(不使用NSString)?
How do I check if a string contains another string in Swift?
但現在幾個月後不知是否可以在不使用的NSString做些什麼呢? 我很好,簡單的包含方法會很好。 我搜索了網頁和文檔,但我什麼也沒找到!
同樣的方式,只是斯威夫特語法:
let string = "This is a test. This is only a test"
if string.rangeOfString("only") != nil {
println("yes")
}
對於雨燕3.0
if str.range(of: "abc") != nil{
print("Got the string")
}
我就串寫了一個擴展SWIFT 3.0,這樣我可以簡單地叫absoluteString.contains(string: "/kredit/")
extension String {
public func contains(string: String)-> Bool {
return self.rangeOfString(string) != nil
}
}
String
實際上通過StringProtocol
提供了「包含」功能。
沒有擴展任何需要:
let str = "asdf"
print(str.contains("sd") ? "yep" : "nope")
https://developer.apple.com/reference/swift/string
https://developer.apple.com/documentation/swift/stringprotocol
如果要檢查你的串中的某個模式匹配,我可以推薦NSHipster文章關於NSRegularExpressions:http://nshipster.com/nsregularexpression/
這就是檢查字符串是否包含某個字符! – 2017-11-26 21:50:03
@EmilMarashliev這是真的。但是另外你可以檢查任何符合'StringProtocol'的東西 - 所以它也適用於'String'。 – 2017-11-27 07:07:03
哈,你完全正確它來自'StringProtocol' https://developer.apple.com/documentation/swift/stringprotocol/2923423-它比'range(of:)'更方便更優雅的方式' – 2017-11-27 09:13:54
只是爲了演示使用選項。
var string = "This is a test. This is only a test. Not an Exam"
if string.range(of:"ex") != nil {
print("yes")
}
if string.range(of:"ex", options: String.CompareOptions.caseInsensitive) != nil {
print("yes")
}
的可能的複製[如何檢查是否字符串包含在斯威夫特另一個字符串?](http://stackoverflow.com/questions/24034043/how-do-i-check-if-a-string -contains-another-string-in-swift) – 2016-08-22 09:16:05