2016-04-08 13 views
0

İfadeleri bir metin parçasından kaldırmaya çalışıyorum, bu ifadeye başka bir sorudan baktım ve herhangi bir ifadeyi kaldırmıyor. Neyi yanlış yaptığımı veya bir dizeden emojiyi çıkarmak için daha iyi regeeksler olduğunu bana bildirir misin?Python'daki ifadeleri kaldırmak için Normal İfade

import re 
myre = re.compile(u'(' 
u'\ud83c[\udf00-\udfff]|' 
u'\ud83d[\udc00-\ude4f\ude80-\udeff]|' 
u'[\u2600-\u26FF\u2700-\u27BF])+', 
re.UNICODE) 

def clean(inputFile,outputFile): 
    with open(inputFile, 'r') as original,open(outputFile, 'w+') as out: 
     for line in original: 
      line=myre.sub('', line) 
+0

Girdi dosyası sağlayabilir misiniz? – ferkulat

+0

Metniniz ascii içerikli mi? – Saleem

+0

Merhaba @ferkulat metni utf-8 bir notepad txt dosyasıdır, burada bazı örnek verileri ekledim. http://pastebin.com/uYUNk9R1 – Sorry

cevap

1

Böyle bir şey mi?

import re 
myre = re.compile('(' 
'\ud83c[\udf00-\udfff]|' 
'\ud83d[\udc00-\ude4f\ude80-\udeff]|' 
'[\u2600-\u26FF\u2700-\u27BF])+'.decode('unicode_escape'), 
re.UNICODE) 

def clean(inputFile,outputFile): 
    with open(inputFile, 'r') as original,open(outputFile, 'w+') as out: 
     for line in original: 
      line = myre.sub('', line.decode('utf-8')) 
      print(line) 
+0

Bu hat.decode ('utf-8') kaldırdığımda çalıştı, teşekkürler @samuel! – Sorry

+0

Tamam, rica ederim. –

+0

Çalışmayı durdurdu, hiçbir nedenim yok, yukarıdaki kodu bir notepade belgesindeki bu pastebin.com/uYUNk9R1 metninde deneyebilir misiniz? – Sorry