我想做一個字符串替換,刪除搜索短語中使用的所有特殊和不安全字符,以適合插入到Google URL中。優雅的字符串方法(如何更Pythonic)
我可以使用.replace或re.sub的多個實例,但這似乎效率低下。有沒有更快或更Pythonic的方式做到這一點?我認爲我已經超越了初學者和最近的中間階段,因爲我努力讓自己的代碼變得更加清晰和高效。
我想做一個字符串替換,刪除搜索短語中使用的所有特殊和不安全字符,以適合插入到Google URL中。優雅的字符串方法(如何更Pythonic)
我可以使用.replace或re.sub的多個實例,但這似乎效率低下。有沒有更快或更Pythonic的方式做到這一點?我認爲我已經超越了初學者和最近的中間階段,因爲我努力讓自己的代碼變得更加清晰和高效。
而是自己做了更換,我會建議使用urllib.quote()
,它返回通過將特殊字符%xx
逃逸網址安全的字符串。
這裏的好處是你可以使用urllib.unquote()
(你不需要自己編寫代碼)從URL安全版本中輕鬆獲得原始字符串。
另一種選擇是使用re.sub
,請參閱regex documentation瞭解更多詳情。
舉個例子:
# re.sub(pattern, replacement, target_string)
>>> re.sub("@|#|\$", "" , '[email protected]#$asdf')
'asdfasdf'
注意,你可以指定你想用一個空字符串替換的跡象,這意味着你可以添加/刪除特殊字符。但是它確實需要你有一些正則表達式的知識。
繁榮。你先生,是勝利者。 –
@AndrewAlexander你應該接受他的回答然後:D –
是的,對不起!我現在有了。 –