Python 转义后如何在控制台中检查输出?
假设有两个字符串:Python 转义后如何在控制台中检查输出?,python,python-3.x,Python,Python 3.x,假设有两个字符串: str1='a\ba' str2='a' 如果我们使用print来显示这些字符串,则所有字符串都将打印a 但是很明显,str1==str2是False。转义后如何检查它们是否相同 预期的输出,如:f(str1)=str2为True,f()是转义后获取字符串的函数 我并不期待通过一些算术方法来实现这一点。\b在ASCII中是退格(BS),它不会显示在打印函数中 1。如果希望在打印功能中显示,可以使用: >>> print(repr(str1)) 'a\x08
str1='a\ba'
str2='a'
如果我们使用print
来显示这些字符串,则所有字符串都将打印a
但是很明显,str1==str2
是False
。转义后如何检查它们是否相同
预期的输出,如:f(str1)=str2
为True
,f()
是转义后获取字符串的函数
我并不期待通过一些算术方法来实现这一点。\b在ASCII中是退格(BS),它不会显示在打印函数中
1。如果希望在打印功能中显示,可以使用:
>>> print(repr(str1))
'a\x08a'
2.如果要将此str1用作打印,需要删除退格:
>>> re.sub('.\b', '', str1)
'a'
是否要检查打印后字符串是否不同?还是在什么阶段?@pavel是的,我只是想知道打印后字符串是否不同。这是否回答了您的问题?这取决于终端;请参阅上的注释。您可能误解了我的意思。谢谢,这接近我想要的。第二种方法对于
ab\b\bc
之类的字符串失败。它应该给出c
,而不是a\bc
。抄送@KevinMayo@BrianMcCutchon是的~这只是一个例子,它可以再次执行a\bc
的re.sub(),得到c
@BrianMcCutchon是的,谢谢你的解释,所以最后,我不得不使用一些算术方法来实现。