我尝试删除字符串中的任何URL,有一个SO answer提供了一个使用PHP中的正则表达式的解决方案:
$regex = "@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@";
echo preg_replace($regex, ' ', $string);
我尝试直接在斯威夫特作为:
myStr.stringByReplacingOccurrencesOfString("@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@", withString: "", options: .RegularExpressionSearch)
但是它显示了一些误差Invalid escape sequence in literal
。
如何在Swift中正确操作?
2条答案
按热度按时间p1iqtdky1#
如果你想从字符串中删除url而不使用正则表达式,你可以使用以下代码:
htzpubme2#
首先,您需要转义转义符“",因此每个“\”都将变为“\"。其次,您缺少第四个参数,即“range:“