识别并删除奇怪的字符
问题描述:
我可以使用什么命令来识别和去除形成“词”,比如某些奇怪的字符:识别并删除奇怪的字符
í‰äó_
퀌¢í‰ä‰åí‰ä‹¢
it퀌¢í‰ä‰åí‰ä‹¢
í‰äóìgo
从一系列的文件?这些是一些例子... 我想删除这种情况。
答
使用string
模块,你已经得到了从文件中的数据后:
import string
final_str = ''
for char in my_str:
if char in string.printable:
final_str += char
替代的一行:
''.join([str(char) for char in my_str if char in string.printable])
答
如何正则表达式子?
类似:
import re
clean_name = re.sub(r'[^a-zA-Z0-9\._-]', '', dirty_name)
添加到正则表达式其他任何允许字符。
答
既然你标记shell
和command-line
,在这里你去
$ tr -cd [:graph:][:space:] < foo.txt
_
it
go
你如何定义“奇怪”?你想过滤出不是明确的基本字母a-z的字符吗? – 2013-04-21 23:14:38
它基本上是一系列英文中没有意义的字符。标点符号是否被接受? ! 。它只是那些随机字符一起出现的“字” – bb2 2013-04-21 23:21:45
然后你想使用pythons字符串模块,并检查文件中的行是否在string.printable中有字符。 F3AR3DLEGEND回答了您提供该选项的问题,看看他的答案 – 2013-04-22 00:17:34