如何在python3中删除字符串的“\ n”?

时间:2018-03-21 01:36:55

标签: python

if __name__ == '__main__':
    string =[' \n            Boeing Vancouver\n          ', '\n          Airbus\n        ', '\n          Lockheed Martin\n        ', '\n          Rolls-Royce\n        ', '\n          Northrop Grumman\n        ', '\n          BOMBARDIER\n        ', '\n          Raytheon\n        ']
    for item in string:
        item.replace("\n"," ")
        item.strip()
    print(string)

输出与输入相同,为什么?

3 个答案:

答案 0 :(得分:0)

您需要再次审核the documentation

  

返回字符串的副本,其中所有出现的substring old都替换为new。如果给出了可选参数计数,则仅替换第一次计数出现次数。

换句话说,item.replace("\n"," ")本身没有任何作用。

答案 1 :(得分:0)

您可以使用list comprehension之类的:

代码:

[s.replace("\n", " ") for s in a_string]

测试代码:

a_string = [' \n            Boeing Vancouver\n          ',
          '\n          Airbus\n        ',
          '\n          Lockheed Martin\n        ',
          '\n          Rolls-Royce\n        ',
          '\n          Northrop Grumman\n        ',
          '\n          BOMBARDIER\n        ',
          '\n          Raytheon\n        ']


print([s.replace("\n", " ") for s in a_string])

结果:

['              Boeing Vancouver           ', 
 '           Airbus         ', 
 '           Lockheed Martin         ', 
 '           Rolls-Royce         ', 
 '           Northrop Grumman         ', 
 '           BOMBARDIER         ', 
 '           Raytheon         ']

答案 2 :(得分:0)

字符串在python中是不可变的。您可以使用列表解析简单地去除前导或尾随空格以创建新列表。

[x.strip() for x in string]