繁体   English   中英

优雅的字符串方法(如何变得更Pythonic)

[英]Elegant String Method (How to be more Pythonic)

我想进行字符串替换,以将搜索短语中使用的所有特殊和不安全字符删除,以适合插入Google URL中。

我可以使用.replace或re.sub的多个实例,但这似乎效率很低。 有没有更快或更Pythony的方式来做到这一点? 我想我正在从初学者过渡到最近的中级,因为我一直在努力使我的代码更简洁,更高效。

建议不要使用自己替换,而建议使用urllib.quote() ,它通过将特殊字符转换为%xx转义来返回URL安全的字符串。

这样做的好处是,您可以使用urllib.unquote()从URL安全版本中轻松获取原始字符串(并且您无需自己编写代码!)。

一种选择是string.translate

例如

>>> string.translate('ds..ad$ds#a', None, '.,@#$')
'dsaddsa'

另一种选择是使用re.sub ,有关更多详细信息,请参见regex文档

举个例子:

# re.sub(pattern, replacement, target_string)
>>> re.sub("@|#|\$", "" , 'asdf@#$asdf')
'asdfasdf'

请注意,您可以用空字符串指定要替换的符号,这意味着您可以添加/删除特殊字符。 但是,它确实需要您对正则表达式模式有所了解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM