我想进行字符串替换,将搜索词组中使用的所有特殊和不安全字符移除到适合插入Google网址的内容。
我可以使用.replace或re.sub的多个实例,但这似乎效率低下。有没有更快或更Pythonic的方式这样做?我想我最近已经超越初学者并进入中级,因为我试图使我的代码更清洁,更有效率。
答案 0 :(得分:7)
我建议您使用urllib.quote()
而不是自行替换,它会通过将特殊字符转换为%xx
转义来返回URL安全字符串。
这样做的好处是,您可以使用urllib.unquote()
从URL安全版本轻松获取原始字符串(并且您不需要自己编写代码!)。
答案 1 :(得分:1)
答案 2 :(得分:0)
另一种选择是使用re.sub
,有关详细信息,请参阅regex documentation。
举个例子:
# re.sub(pattern, replacement, target_string)
>>> re.sub("@|#|\$", "" , 'asdf@#$asdf')
'asdfasdf'
请注意,您可以使用空字符串指定要替换的符号,这意味着您可以添加/删除特殊字符。但它确实需要你对正则表达式有一些了解。