2013-04-21 69 views
0

我可以使用什麼命令來識別和去除形成「詞」,比如某些奇怪的字符:識別並刪除奇怪的字符

í‰äó_ 
퀌¢í‰ä‰åí‰ä‹¢ 
it퀌¢í‰ä‰åí‰ä‹¢ 
í‰äóìgo 

從一系列的文件?這些是一些例子... 我想刪除這種情況。

+0

你如何定義「奇怪」?你想過濾出不是明確的基本字母a-z的字符嗎? – 2013-04-21 23:14:38

+0

它基本上是一系列英文中沒有意義的字符。標點符號是否被接受? ! 。它只是那些隨機字符一起出現的「字」 – bb2 2013-04-21 23:21:45

+1

然後你想使用pythons字符串模塊,並檢查文件中的行是否在string.printable中有字符。 F3AR3DLEGEND回答了您提供該選項的問題,看看他的答案 – 2013-04-22 00:17:34

回答

1

使用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]) 
1

如何正則表達式子?

類似:

import re 

clean_name = re.sub(r'[^a-zA-Z0-9\._-]', '', dirty_name) 

添加到正則表達式其他任何允許字符。

2

既然你標記shellcommand-line,在這裏你去

$ tr -cd [:graph:][:space:] < foo.txt 
_ 

it 
go