在python 2.6
中使用string split()时,我遇到了一个非常简单的情况问题是
我在文件中有一行读取
bacarat,baccarat
然后在其上调用 split(“,”)。这导致了
['bacarat', 'baccarat\r']
所有线路都有一个额外的 \ r 。
此代码在某个旧python脚本的服务器上运行,该脚本仅支持python2.6
任何线索将不胜感激。
感谢
答案 0 :(得分:4)
使用str.strip
或str.rstrip()
删除\r
(回车),然后应用str.split
:
>>> strs = 'bacarat,baccarat\r'
>>> strs.strip().split(',')
['bacarat', 'baccarat']
使用str.rstrip
:仅删除尾随'\r'
>>> strs.rstrip('\r').split(',')
['bacarat', 'baccarat']
没有参数的 str.strip
会删除所有类型的尾随和前导空格字符,例如'\n'
,'\r'
,'\t'
等。
使用str.replace
:请注意,这将替换该行中任何位置的所有'\r'
。
>>> strs = 'bacarat,baccarat\r'
>>> strs.replace('\r','').split(',')
['bacarat', 'baccarat']