如何从废弃数据中删除“\n”和“xa0”字符,但保留空格?

2024-04-27 20:16:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我删除了一些数据并将字符串存储在一个列表中。但是字符串包含奇怪的字符:

['\nBayern Munich   ',
 '\nWerder Bremen ',
 '\nHamburger SV ',
 '\nFC Schalke 04 ',
 '\nBay. Leverkusen ',
 '\nHertha BSC ',
 '\nBor. Dortmund ',
 '\n1.FC Nuremberg ',
 '\nVfB Stuttgart ',
 "\nBor. M'gladbach ",
 '\n1.FSV Mainz 05 ',
 '\nHannover 96 ',
 '\nArm. Bielefeld ',
 '\nE. Frankfurt \xa0 ',
 '\nVfL Wolfsburg ',
 "\n1.FC K'lautern ",
 '\n1. FC Köln \xa0 ',
 '\nMSV Duisburg \xa0 ']

我知道如何删除'\n'和'\xa0',但我认为这样做不太舒服。我还想去掉每个字符串结尾的空格,但保持中间的空间。

实际上我用列表理解删除了字符:

team = [elem.replace('\n','').replace('\xa0','') for elem in team]
team

我得到以下结果:

['Bayern Munich   ',
 'Werder Bremen ',
 'Hamburger SV ',
 'FC Schalke 04 ',
 'Bay. Leverkusen ',
 'Hertha BSC ',
 'Bor. Dortmund ',
 '1.FC Nuremberg ',
 'VfB Stuttgart ',
 "Bor. M'gladbach ",
 '1.FSV Mainz 05 ',
 'Hannover 96 ',
 'Arm. Bielefeld ',
 'E. Frankfurt  ',
 'VfL Wolfsburg ',
 "1.FC K'lautern ",
 '1. FC Köln  ',
 'MSV Duisburg  ']

我真正想要的是:

['Bayern Munich',
 'Werder Bremen',
 'Hamburger SV',
 'FC Schalke 04',
 'Bay. Leverkusen',
 'Hertha BSC',
 'Bor. Dortmund',
 '1.FC Nuremberg',
 'VfB Stuttgart',
 "Bor. M'gladbach",
 '1.FSV Mainz 05',
 'Hannover 96',
 'Arm. Bielefeld',
 'E. Frankfurt',
 'VfL Wolfsburg',
 "1.FC K'lautern",
 '1. FC Köln',
 'MSV Duisburg']

有人能解释一下如何去掉每个字符串末尾的空格吗?问题是1-3之间的空间量不同


Tags: 字符串xa0fcsvborn1bscbremen
2条回答

你可以这样做:

[s.strip() for s in team]

添加.strip()如下:

>>> [elem.replace('\n','').replace('\xa0','').strip() for elem in team]
['Bayern Munich', 'Werder Bremen', 'Hamburger SV', 'FC Schalke 04', 'Bay. Leverkusen', 'Hertha BSC', 'Bor. Dortmund', '1.FC Nuremberg', 'VfB Stuttgart', "Bor. M'gladbach", '1.FSV Mainz 05', 'Hannover 96', 'Arm. Bielefeld', 'E. Frankfurt', 'VfL Wolfsburg', "1.FC K'lautern", '1. FC K\xc3\xb6ln', 'MSV Duisburg']

相关问题 更多 >