我正在尝试开发一个脚本,用于将运行时生成的字符串与用户输入的字符串进行比较。不幸的是,由于用户使用文本框输入他的代码,我在用户输入的字符串中得到^ M. 例如,如果我将这些字符串打印到文件,我得到这个:
User Input:
1^M
2^M
3
Output of script:
1
2
3
显然,当我尝试比较这两个字符串时,我得到了一个错误。什么是最有效的方法来解决这个问题?如果您没有注意到,用户“donot”输入的所有行都以“^ M”结尾。此用户字符串中的最后一行没有^ M,而代码输出末尾有“\ n”。
答案 0 :(得分:10)
您应该使用str.splitlines()
来分割来自文本框的文本,而不是现在使用的文本。该方法正确处理\r\n
。
答案 1 :(得分:0)
mystring.rstrip('\r')
将返回一个新字符串,其中包含从字符串末尾删除的任何^ M.