[英]Insert a backslash before special character in a string using python or shell script
[英]Escape (Insert backslash) before brackets in a Python string
我需要格式化許多包含類似結構的字符串:
u'LastName FirstName (Department / Subdepartment)'
我的願望是讓字符串看起來像這樣:
u'LastName FirstName \(Department / Subdepartment\)'
這意味着我需要在左括號和右括號中添加一個反斜杠。
到目前為止,我在 Python 中執行此操作:
displayName = displayName.replace('(', '\(').replace(')', '\)').
這看起來不錯,但我只是想知道:
有沒有更Pythonic的方法來做到這一點?
我沒有找到正確的方法Python 的字符串文檔,但也許我找錯了地方......
您已經找到了最 Pythonic 的方式, regex提供了一個不太可讀的解決方案:
>>> import re
>>> s = u'LastName FirstName (Department / Subdepartment)'
>>> print re.sub(r'([()])', r'\\\1', s)
LastName FirstName \(Department / Subdepartment\)
你可以使用re.escape('string')
。
例子:
import re
escaped = re.escape(u'LastName FirstName (Department / Subdepartment)')
筆記:
此方法將返回所有非字母數字反斜杠的字符串,其中包括標點符號和空格。
雖然這可能對你有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.