Joh*_*man 8 python regex encoding
我在python中处理大量的CSV文件.这些文件是从外部组织接收的,并使用一系列编码进行编码.我想找到一个自动方法来删除以下内容:
我有一个名为"查找并替换它"的产品!那会使用正则表达式,所以用正则表达式解决上面的方法会非常有帮助.
谢谢
您可能感兴趣的另一种选择是:
import string
clean = lambda dirty: ''.join(filter(string.printable.__contains__, dirty))
Run Code Online (Sandbox Code Playgroud)
它只是从它收到的脏字符串中过滤掉所有不可打印的字符.
>>> len(clean(map(chr, range(0x110000))))
100
Run Code Online (Sandbox Code Playgroud)
试试这个:
clean = re.sub('[\0\200-\377]', '', dirty)
Run Code Online (Sandbox Code Playgroud)
想法是匹配每个NUL或"高ASCII"字符(即\ 0和那些不适合7位的字符)并删除它们.您可以在找到它们时添加更多字符,例如ASCII ESC或BEL.
或这个:
clean = re.sub('[^\040-\176]', '', dirty)
Run Code Online (Sandbox Code Playgroud)
这个想法只允许有限范围的"可打印ASCII",但请注意,这也会删除新行.如果您想保留换行符或标签符号等,只需将它们添加到括号中即可.
归档时间: |
|
查看次数: |
8742 次 |
最近记录: |