处理带有空字符的字符串

时间:2017-03-10 13:47:41

标签: regex python-2.7

我有一个充满字符串(计算机路径)的文本文件,我想通过用下划线替换每个反斜杠来处理,除了用下划线替换每个数字(整数或浮点数),原始字符串看起来像那: string = "\Software\Microsoft\0\Windows\CurrentVersion\Internet Settings\5.0\Cache"

通常,我可以使用以下命令轻松替换反斜杠: string=string.replace('\\','_') 并应用一些正则表达式,例如:'(\d(?:\.\d)?)'来替换数字。 但是在我的情况下我也做不到,因为python一直认为'\0'是一个空字符,而'\5.0'认为是ENQ,事实上反斜杠后面的任何数字都会以同样的方式处理。< / p>

任何建议的替换方法? 例如有没有办法将我的字符串转换为原始字符串作为开始?

1 个答案:

答案 0 :(得分:0)

永远记住:反斜杠(\)会转义特殊字符。如果你想使用反斜杠本身,你也需要逃避它。你的字符串应如下所示:

string = "\\Software\\Microsoft\\0\\Windows\\CurrentVersion\\Internet Settings\\5.0\\Cache"