Ответ 1
То же самое, просто с синтаксисом Swift:
let string = "This is a test. This is only a test"
if string.rangeOfString("only") != nil {
println("yes")
}
Для Swift 3.0
if str.range(of: "abc") != nil{
print("Got the string")
}
У меня такая же проблема, как в этом вопросе:
Как проверить, содержит ли строка строку в Swift?
Но теперь несколько месяцев спустя я задаюсь вопросом, можно ли это сделать без использования NSString? Я славный и простой содержит-метод будет хорошо. Я искал в Интернете и документации, но ничего не нашел!
То же самое, просто с синтаксисом Swift:
let string = "This is a test. This is only a test"
if string.rangeOfString("only") != nil {
println("yes")
}
Для Swift 3.0
if str.range(of: "abc") != nil{
print("Got the string")
}
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/ p >
Я написал расширение для String для SWIFT 3.0, чтобы просто позвонить absoluteString.contains(string: "/kredit/")
extension String {
public func contains(string: String)-> Bool {
return self.rangeOfString(string) != nil
}
}
чтобы продемонстрировать использование опций.
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")
}