【发布时间】:2019-05-17 07:00:31
【问题描述】:
我有一个字符串,我想在某些字符前添加一个\。
我在 terms_string 中有我的字符串,我所做的是:
charmap = {':', '(', ')', '{', '}', '[', ']', '<', '>', '/', '\\', '='}
for key in charmap:
terms_string = terms_string.replace(key, '\\'+key)
一切正常,但我得到的是 \\ 而不是 \。
例如我得到的charmap
{'(', ')', '/', ':', '<', '=', '>', '[', '\\', ']', '{', '}'}
插入
{'(', ')', '/', ':', '<', '=', '>', '[', '\', ']', '{', '}'}
这只发生在字符 \ 上,不会发生在其他字符上。
知道为什么会这样吗? Python配置可能吗?谢谢!
【问题讨论】:
-
你可以去看看这个stackoverflow.com/questions/24085680/…。你的答案在这里:)
-
如果我做 print(terms_string) 我得到了双 \,所以我认为有问题。
-
在尝试替换 \\ 时要达到什么目的?您想将单个 \ 替换为 \\ 或者您想将 \\ 替换为 \\\ ?
-
repr()返回的 representation 在控制台或序列结构中显示带有两个反斜杠的转义序列。但这实际上只是一个。如果您打印单数字符串,它将正确显示。