我正在使用此RegEx进行检测:
let text = myText.substringWithRange(myText[0].rangeOfString("(?<=\")[^\"]+", options: .RegularExpressionSearch)!)
因此它可以完美运行,但是当它找不到要搜索的内容时,它就会崩溃!我该怎么假装?
我试图
if let text = ... {
...
}
在这种情况下,它返回
Initializer for conditional binding must have Optional type, not 'String'
。我该如何假装当机? 最佳答案
您尝试用Range<Index>
拆开rangeOfString("(?<=\")[^\"]+", options: .RegularExpressionSearch)!
,并且需要将其测试到nil
。尝试这样做:
if let range = myText.rangeOfString("(?<=\")[^\"]+", options: .RegularExpressionSearch) {
let text = myText.substringWithRange(range)
...
}
关于ios - 如何检查RegEx是否返回nil?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34588098/