SORU
26 Aralık 2008, Cuma


unicode python ve düzenli ifade

Dize bazı unicode sembolleri silmek istiyorum 'بِسْمِ اللَّهِ الرَّحِيمِ الرَّحْمَٰنِ'

Burada kesinlikle var olduklarını biliyorum. Ben deneyin:

re.sub('([\u064B-\u0652\u06D4\u0670\u0674\u06D5-\u06ED] )', '', 'بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ')

ama çalışmıyor. Dize aynı kalır. ben yanlış ne karınca öneri?

CEVAP
26 Aralık 2008, Cuma


Python 2 kullanıyorsunuz.x veya 3.0?

2 kullanıyorsanız.x, düzenli ifade dize yapmayı deneyin bir unicode kaçış,''. u dize ile İyi antreman düzenli ham bir dize yapmak için düzenli olduğu için,''. r Ayrıca, parantez içinde tüm desen koymak gereksiz.

re.sub(ur'[\u064B-\u0652\u06D4\u0670\u0674\u06D5-\u06ED] ', '', ...)

http://docs.python.org/tutorial/introduction.html#unicode-strings

Düzenleme:

Ayrıca yeniden kullanım için iyi bir uygulamadır.UNİCODE/re.U/(?u) unicode yukarıdaki diyagram için bayrak, ama sadece \w bu desen kullanmaz ve bu yüzden etkilenmez \b gibi karakter sınıf diğer etkiler.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChannelRichard

    ChannelRicha

    7 Kasım 2008
  • Dumb Stupid Videos

    Dumb Stupid

    26 Kasım 2013
  • TechRax

    TechRax

    21 EYLÜL 2009