作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 python 中,我试图用双反斜杠(“\”)替换单个反斜杠(“\”)。我有以下代码:
directory = string.replace("C:\Users\Josh\Desktop\20130216", "\", "\\")
但是,这会给出一条错误消息,指出它不喜欢双反斜杠。有人可以帮忙吗?
最佳答案
此处无需使用 str.replace
或 string.replace
,只需将该字符串转换为原始字符串即可:
>>> strs = r"C:\Users\Josh\Desktop\20130216"
^
|
notice the 'r'
下面是上述字符串的 repr
版本,这就是您在此处看到 \\
的原因。但是,实际上实际的字符串只包含 '\'
而不是 \\
。
>>> strs
'C:\\Users\\Josh\\Desktop\\20130216'
>>> s = r"f\o"
>>> s #repr representation
'f\\o'
>>> len(s) #length is 3, as there's only one `'\'`
3
但是当你要打印这个字符串时,你不会在输出中得到 '\\'
。
>>> print strs
C:\Users\Josh\Desktop\20130216
如果您希望字符串在 print
期间显示 '\\'
然后使用 str.replace
:
>>> new_strs = strs.replace('\\','\\\\')
>>> print new_strs
C:\\Users\\Josh\\Desktop\\20130216
repr
版本现在将显示 \\\\
:
>>> new_strs
'C:\\\\Users\\\\Josh\\\\Desktop\\\\20130216'
关于python用双反斜杠替换单反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17327202/
我是一名优秀的程序员,十分优秀!