如何删除从文本文件中读取的行中的特殊字符和字母,同时保留空格?假设我们在一个文件中有以下内容:
16 ` C38# 26535 26535 2010 4 14 2 7 7 38^@1 2 15 100 140 30 $ 14^] (2003年2!-6�021 0�14!2 3!1 0 35454 0$ ^@0 0 "0 "63 194 (56188 26 27“24 0 0 10�994!8 58 0 0”�0 32�47 32767 32767!1
输出结果基本上应该是:
16 38 26535 2010年4 14 2 7 7 3 8 1 2 15 100 140 30 14 2003 2 -6 021 014 2 3 1 0 35454 0 0 0 63 194 56 188 26 27 24 0 0 10 994 8 58 0 0 0 32 47 32767 32767 1
做这件事最直接的方法是什么?
发布于 2010-07-14 11:08:55
如果您只想保留数字、加号和减号以及所有空格,最简单的方法可能是
import re
...
line = re.sub(r'[^\d\s+-]+', '', line)其内容为“将每个序列中的一个或多个非数字非空格替换为空”。
字符串的translate方法会更快,但它的设置就不那么简单了,所以,既然您要求“简单”,我建议使用re方法(现在准备好迎接re-haters的尖叫声...;-)。
https://stackoverflow.com/questions/3243131
复制相似问题