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)
输出与输入相同,为什么?
答案 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]