gpt4 book ai didi

python - 将\n\t 等转义字符替换为\\t ,\\n

转载 作者:行者123 更新时间:2023-12-01 04:13:03 25 4
gpt4 key购买 nike

我正在尝试在 python 中编写一个正则表达式,我希望替换转义字符,例如 \n , \t\\n , \\t等等

我尝试过这样做只是为了转义换行符和制表符。

re.sub(r'\t',r'\\t',re.sub(r'\n',r'\\n',text))

例如:

>>> print re.sub(r'\t',r'\\t',re.sub(r'\n',r'\\n','ads;lfkjaldsf\ndsklajflad\tkjhklajf\n'))
ads;lfkjaldsf\ndsklajflad\tkjhklajf\n

假设我有文字说 "\a\b\c\d\n\g\h\t"那么它不需要为非转义字符添加双反斜杠。

所以在这里我不需要用双反斜杠转义每个反斜杠,而是用双反斜杠转义每个特殊转义字符。

感谢任何帮助。

最佳答案

我发现了 Karoly Horvath 指出的 re.escape。这就是它的工作原理。

>>> re.escape('ads;lfkjaldsf\ndsklajflad\tkjhklajf\n')
'ads\\;lfkjaldsf\\\ndsklajflad\\\tkjhklajf\\\n'

更新:

虽然我看到re.escape转义太多了。空格、分号和很多字符在我的例子中不需要转义。

>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi \\n \\\'GM\\\' \\t TC \\n \\"Bye\\" \\t'

这就是我发现的真正有帮助的方法。

关于python - 将\n\t 等转义字符替换为\\t ,\\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34655254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com