hariç unicode dizesinden noktalama kaldırarak bu birkaç konu buldum ve bu çözüm buldu:Python
sentence=re.sub(ur"[^\P{P}'|-]+",'',sentence)
Bu 'hariç her noktalamayı kaldırmak gerekir, sorun da cümlenin diğer her şeyi şeritler olduğunu.
Örnek:
istediğim şey noktalama işaretleri olmadan cümleyi tutmaktır tabii>>> sentence="warhol's art used many types of media, including hand drawing, painting, printmaking, photography, silk screening, sculpture, film, and music."
>>> sentence=re.sub(ur"[^\P{P}']+",'',sentence)
>>> print sentence
'
ve "warhol yönettiği" kalır
İstenilen çıkış olduğu gibi:
"warhol's art used many types of media including hand drawing painting printmaking photography silk screening sculpture film and music"
"austro-hungarian empire"
Düzenleme: Ben de
tbl = dict.fromkeys(i for i in xrange(sys.maxunicode)
if unicodedata.category(unichr(i)).startswith('P'))
sentence = sentence.translate(tbl)
kullanarak çalıştı
ama bu
(http://stackoverflow.com/questions/21209024/python-regex-remove-all-punctuation-except-hyphen-for-unicode-string) (dışında her şeye uyar) ' – KameeCoding
Oops' dışında noktalama işareti olan herşeyi düzeltmelisiniz; Yeni 'regex' modüllerinde bu kadar değil. –