簡體   English   中英

在 Python 字符串中的括號前轉義(插入反斜杠)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM