2024-04-25 15:26:32 发布
网友
在python中,我试图用双反斜杠(“\”)替换单个反斜杠(“\”)。我有以下代码:
directory = string.replace("C:\Users\Josh\Desktop\20130216", "\", "\\")
但是,这会给出一条错误消息,说它不喜欢双反斜杠。有人能帮忙吗?
不需要在这里使用str.replace或string.replace,只需将该字符串转换为原始字符串:
str.replace
string.replace
>>> strs = r"C:\Users\Josh\Desktop\20130216" ^ | notice the 'r'
下面是上面字符串的repr版本,这就是您在这里看到\\的原因。 但实际上,实际字符串只包含'\',而不包含\\。
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:
print
>>> new_strs = strs.replace('\\','\\\\') >>> print new_strs C:\\Users\\Josh\\Desktop\\20130216
repr版本现在将显示\\\\:
\\\\
>>> new_strs 'C:\\\\Users\\\\Josh\\\\Desktop\\\\20130216'
让我简单明了。让我们使用python中的re模块来转义特殊字符。
Python脚本:
import re s = "C:\Users\Josh\Desktop" print s print re.escape(s)
输出:
C:\Users\Josh\Desktop C:\\Users\\Josh\\Desktop
说明:
现在请注意re.escape函数在转义给定字符串中的特殊字符时,我们可以在每个反斜杠之前添加另一个反斜杠,最后输出结果是一个双反斜杠,即所需的输出。
希望这对你有帮助。
使用转义字符:"full\\path\\here"、"\\"和"\\\\"
"full\\path\\here"
"\\"
"\\\\"
不需要在这里使用
str.replace
或string.replace
,只需将该字符串转换为原始字符串:下面是上面字符串的
repr
版本,这就是您在这里看到\\
的原因。 但实际上,实际字符串只包含'\'
,而不包含\\
。但是当您要打印这个字符串时,您将无法在输出中获得
'\\'
。如果希望字符串在
print
期间显示'\\'
,请使用str.replace
:repr
版本现在将显示\\\\
:让我简单明了。让我们使用python中的re模块来转义特殊字符。
Python脚本:
输出:
说明:
现在请注意re.escape函数在转义给定字符串中的特殊字符时,我们可以在每个反斜杠之前添加另一个反斜杠,最后输出结果是一个双反斜杠,即所需的输出。
希望这对你有帮助。
使用转义字符:
"full\\path\\here"
、"\\"
和"\\\\"
相关问题 更多 >
编程相关推荐