【发布时间】:2016-04-03 09:11:29
【问题描述】:
我正在尝试删除字符串中的任何 URL,并且有一个 SO answer 提供了在 PHP 中使用正则表达式的解决方案:
$regex = "@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@";
echo preg_replace($regex, ' ', $string);
我直接在 Swift 中尝试如下:
myStr.stringByReplacingOccurrencesOfString("@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@", withString: "", options: .RegularExpressionSearch)
但它显示了一些错误Invalid escape sequence in literal。
如何在 Swift 中正确地做到这一点?
【问题讨论】:
-
删除封闭的
@和双反斜杠。我认为您也不需要传递任何选项,使用options: [] -
您不能在字符串中使用 / 键。因为 / 破坏了字符串语法。我们使用 / 截取字符串引号并将一些值转换为字符串。例如:“年龄:\(18)”所以你不能以/字符开头。