斯威夫特字符串在字符串
问题描述:
贝塔5之前,我可以使用斯威夫特字符串在字符串
var str = "Hello, playground"
str.bridgeToObjectiveC().containsString("Hello")
但是这不再支持,是有一个很好的办法解决这个,还是雨燕现在已经提供了吗?
答
在斯威夫特叫rangeOfString
"hello".rangeOfString("ell")
返回一
{有些 “1 .. < 4”}
答
你可以使用:
var str = "Hello, playground"
if str.rangeOfString("Hello") != nil {
println("exists")
}
答
就明确地将它转换到NSString
:
var str = "Hello, playground"
(str as NSString).containsString("Hello")
但是如果有一种纯粹的快捷方式做到这一点,我会用它 - 它总是更好地避免桥接,除非真的需要。
答
你可以写扩展contains:
extension String {
func contains(find: String) -> Bool{
if let temp = self.rangeOfString(find){
return true
}
return false
}
}
例子:
var value = "Hello world"
println(value.contains("Hello")) // true
println(value.contains("bo")) // false
的[?如何检查是否字符串包含在斯威夫特另一个字符串(
+0
感谢示例2是我认为的最佳方式:)! – 2014-08-27 09:41:19
可能重复http://stackoverflow.com/questions/24034043/how-do -i-check-if-a-string-contains-another-string-in-swift) – ThomasW 2014-08-27 09:19:14