加入“\&引用;对于字符串Python,“如何插入”\&引用;在字符串中的每个参数之前?
如何将加入“\&引用;对于字符串Python,“如何插入”\&引用;在字符串中的每个参数之前?,python,Python,如何将“\”字符添加到字符串中 例如,如果我有“testme”,我有 "testme"+"\" 我会得到一个错误 在字符串中的每个参数之前添加“\”的“pythonic”方法是什么 例如,从“(hi)”转到“\(hi\)” 我目前的方法是迭代每个字符,并尝试附加一个“\”,我觉得这不是“pythonic”反斜杠用于转义各种字符,因此要在字符串中包含一个文本反斜杠,您需要使用“\\”,例如: >>> print "testme" + "\\" testme\ 因此,要在字符串
“\”
字符添加到字符串中
例如,如果我有“testme”
,我有
"testme"+"\"
我会得到一个错误
在字符串中的每个参数之前添加“\”
的“pythonic”方法是什么
例如,从“(hi)”转到“\(hi\)”
我目前的方法是迭代每个字符,并尝试附加一个
“\”
,我觉得这不是“pythonic”反斜杠用于转义各种字符,因此要在字符串中包含一个文本反斜杠,您需要使用“\\”
,例如:
>>> print "testme" + "\\"
testme\
因此,要在字符串中的每个参数前添加反斜杠,可以使用以下命令:
s = s.replace('(', '\\(').replace(')', '\\)')
s = s.replace('(', r'\(').replace(')', r'\)')
或使用正则表达式:
import re
s = re.sub(r'([()])', r'\\\1', s)
请注意,您还可以通过在开头引号之前添加字母r
来使用原始字符串文字,这样可以按字面解释反斜杠,而不会进行转义。因此r'foo\bar'
将与'foo\\bar'
相同。因此,您可以重写第一种方法,如下所示:
s = s.replace('(', '\\(').replace(')', '\\)')
s = s.replace('(', r'\(').replace(')', r'\)')
请注意,即使在原始字符串文本中,也可以使用反斜杠来转义用于字符串文本的引号,因此r'we're'
与'we're'
或“we're”
相同。这就是为什么当您希望最后一个字符是反斜杠(例如r'testme\'
)时,原始字符串文本无法正常工作的原因(这将是一个语法错误,因为字符串文本从未关闭)