Python 3:删除u200b(zwsp)和换行符(\ n)和空格 - 链接列表操作?

时间:2017-11-24 23:56:55

标签: python-3.x list

我真的很难过为什么这不起作用。我想做的就是从文件中读取内容中删除zwsp(u200b),换行符和额外空格。

最后,我想把它写成一个新的文件,我有功能,但还没有达到所需的格式。

我的输入(一个简短的测试文件,其中包含zwsp / u200b)包含以下内容:

Australia 1975
    ​Adelaide   ​ 2006  ​ 23,500
    Brisbane (Logan)     2006    29,700
    ​Brisbane II (North Lakes)  ​ 2016  ​ 29,000

Austria 1977
    Graz     1989    26,100
    Innsbruck    2000    16,000
    Klagenfurt   2008    27,000

我的代码如下:

input_file = open('/home/me/python/info.txt', 'r')
file_content = input_file.read()
input_file.close()

output_nospace = file_content.replace('\u200b' or '\n' or ' ', '')

print(output_nospace)

f = open('nospace_u200b.txt', 'w')
f.write(output_nospace)
f.close()

然而,这并不像我期望的那样有效。

虽然它删除了u200b,但它不会删除换行符或空格。我必须通过检查作为我脚本的一部分生成的输出文件来测试是否缺少u200b。

如果我删除其中一项操作,例如/ u200b,就像这样:

output_nospace = file_content.replace('\n' or ' ', '')

...然后确定生成的文件没有换行符或空格,但u200b保持预期。恢复到本文顶部描述的原始版本,它不会删除u200b,换行符和空格。

有谁能告诉我这里做错了什么?你可以链接这样的列表操作吗?我怎样才能让它发挥作用?

感谢。

1 个答案:

答案 0 :(得分:0)

正如@twotwotwo所指出的,.replace链的以下实现解决了这个问题。

output_nospace = \
file_content.replace('\u200b', '').replace('\n', '').replace(' ', '')

非常感谢你指出我正确的方向。 :)