如何有效地将包含反斜杠的多行字符串拆分为单独的行?在
下面是我正在处理的输入示例:
strInput = '''signalArr(0)="ASCB D\axx\bxx\fxx\nxx"
signalArr(1)="root\rxx\txx\vxx"'''
我试过这个(把单反斜杠转换成双反斜杠。所以反斜杠转义具有优先权,后面的字符将被“正常”处理:
^{pr2}$我想要:
lineList = strInputProcessed.splitlines()
>> ['signalArr(0)="ASCB D\axx\bxx\fxx\nxx"','signalArr(1)="root\rxx\txx\vxx"']
我得到的是:
>> ['signalArr(0)="ASCB D\x07xx\x08xx', 'xx', 'xx"', 'signalArr(1)="root', 'xx\txx', 'xx"']
尝试将输入存储为原始字符串,则所有“\n”字符将自动转义:
(注意''前的r。这表示字符串是原始的)
另外,如果您希望转义现有的字符串,而不是上面的replace命令,您可以使用encode with'string escape'。在
^{pr2}$同样,如果需要,可以撤消字符串的字符串转义。在
最后,我想在你的背景下加上:
即使多余的\出现在打印的字符串上,它们实际上并不存在于内存中。迭代字符串可以证明这一点,因为它没有给您额外的\字符用于转义。在
相关问题 更多 >
编程相关推荐