我想在一个字符串中替换所有的/x**。例如,这样的字符串:
>>> t
'\n\xd6#\n\xdf\x02\n\x08abstract\x12\xd2\x02\n'
我知道回复sub可以这样处理原始文本:
>>> re.sub(r'\\x[0-9A-Fa-f]{2}', '', r'\n\xd6#\n\xdf\x02\n\x08abstract\x12\xd2\x02\n')
'\\n#\\n\\nabstract\\n'
但是,如果我把t放在那里,它将返回原始文本而不替换:
>>> re.sub(r'\\x[0-9A-Fa-f]{2}', '', t)
'\n\xd6#\n\xdf\x02\n\x08abstract\x12\xd2\x02\n'
我想这可能是因为这里不是原始文本,我试图将它转换为原始文本(如果我错了请纠正我)
>>> t.replace("\\","\\\\")
'\n\xd6#\n\xdf\x02\n\x08abstract\x12\xd2\x02\n'
但是,正如您所看到的,它不会返回如下内容:
>>> r'\n\xd6#\n\xdf\x02\n\x08abstract\x12\xd2\x02\n'
'\\n\\xd6#\\n\\xdf\\x02\\n\\x08abstract\\x12\\xd2\\x02\\n'
那么,是因为我没有正确地传递str而导致sub无法替换吗?(我确实在一些例子中看到它与原始str一起工作)
谢谢!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐