什么是处理反斜杠转义字符的好方法?

Utk*_*glu 4 python string escaping

我有一个以下格式的字符串;

s="part1,part2,part3,part4"
Run Code Online (Sandbox Code Playgroud)

我可以通过调用s.split(",")命令将字符串拆分成碎片.

现在,问题是如果我在字符串中有反斜杠转义逗号怎么办?假设我有以下字符串,

s="part1,part2,pa\\,rt3,part4"
Run Code Online (Sandbox Code Playgroud)

我希望能够得到["part1","part2","pa,rt3","part4"]结果.

我最初的想法是\,用一个不存在的字符串替换,然后使用split命令拆分字符串,并用逗号替换不存在的字符串.

你能想出一个更好的方法来解决这个问题吗?

Wol*_*lph 11

用不存在的字符串替换它是一个不错的选择.

否则,您可以使用带有负向lookbehind的正则表达式,如下所示:

re.split(r'(?<!\\),', 'part1,part2,pa\\,rt3,part4')
Run Code Online (Sandbox Code Playgroud)

  • 所以这个正则表达式说:回头看,如果没有\字符,那么拆分.这正是我要找的!谢谢. (2认同)