如何在python中注入转义序列

2024-10-04 07:37:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将转义序列放入特定字符的字符串中(以双引号为例)。例如,如果我有一个字符串abra"cada"bra,我需要生成这个:abra\"cada\"bra。但是如果字符串已经有了我感兴趣的文本的转义符(在本例中是双引号)abra\"cada\"bra,我需要将其单独处理。 在python中最简单的方法是什么?在

(其思想是将其写入另一个实用程序读取的文本文件中。)


Tags: 方法字符串文本实用程序字符感兴趣思想文本文件
3条回答

假设\除了紧跟在某些字符(例如,'"')之前之外没有其他特殊含义,那么@chepner's suggestion首先取消转义可以实现为:

def escape(text, char='"', escape="\\"):
    escaped_char = escape + char
    text = text.replace(escaped_char, char) # unescape
    return text.replace(char, escaped_char) # escape

Input

^{pr2}$

输出

^{3}$

可能最简单的方法是先对字符串进行解码,这样就不会转义任何内容,然后重新转义生成的字符串。在

像这样的东西

def esc_string(mystring, delim, esc_char='\\'):
    return (esc_char+delim).join([s[:-1] if s.endswith(esc_char) else s for s in mystring.split(delim)])

那么

^{pr2}$

相关问题 更多 >