Bir sözcüğün ve son işaretlerinde noktalama işaretlerini kullanmak için normal ifadeleri kullanmam gerekir. Regex bunun için en iyi seçenek olacak gibi görünüyor. Noktalama işaretinin 'siz' gibi kelimelerden kaldırılmasını istemiyorum. Bu yüzden .replace() kullanmıyorum. Şimdiden teşekkür ederiz =)regex - python ile şerit noktalama işareti
cevap
Bu görevi yapmak için normal ifadeye ihtiyacınız yok. Unicode alfanümerik karakterler ve her şey ayırt etmek bir yol arıyoruz buraya gelenler için
>>> import string
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>[email protected][\\]^_`{|}~'
>>> '!Hello.'.strip(string.punctuation)
'Hello'
>>> ' '.join(word.strip(string.punctuation) for word in "Hello, world. I'm a boy, you're a girl.".split())
"Hello world I'm a boy you're a girl"
Sadece meraktan dolayı, bunun için regex yöntemi ne olurdu? –
're.sub ('\ S +', lambda m: re.sub ('^ \ W + | \ W + $', '', m.group()), '...')'. NOT: Kesin olması için '\ W '' yi değiştirmeniz gerekir, çünkü '_' ifadesini hariç tutacaktır (eğer '_' bir noktalama karakteri olarak davranıyorsa). DEMO: http://ideone.com/Ti44Bw – falsetru
Harika! Çok teşekkürler! Bu arada, bu sizinkiyle aynı - 're.sub (' \ S + ', lambda m: re.match (r'^\ W * (. * \ W) \ W * $ ', m.group ()). grup (1), metin) '? Evet ise, hangisi daha hızlı (ya da daha iyisi)? [Demo] (http://ideone.com/EDan4X) –
- 1. Noktalama işareti kaldırılamadı Solr
- 2. Java, boşluk, yeni satır, sekme, noktalama işareti
- 3. Python: Regex ile değiştir
- 4. Hata Argümanlar bir virgülle ayrılmalıdır. Beklenmeyen belirteci "noktalama işareti" değeri
- 5. YAML dosyasında iki nokta üst üste (noktalama işareti) nasıl yazmalıyım?
- 6. python regex
- 7. Java regex, rakam, artı, eksi, pound işareti
- 8. Metin sorunlu noktalama/sayılar kaldırılıyor
- 9. python regex
- 10. Python regex
- 11. Bootstrap ile şerit
- 12. HTML/CSS'de Noktalama Noktalama Nasıl Yapılır
- 13. Python regex derlemesi (re.VERBOSE ile) çalışmıyor
- 14. Python ve Regex ile dhcpd.leases Ayrıştırma
- 15. Python regex belirli bir kelime ile eşleşecek
- 16. Python: dosyaları regex ile substring bulmak
- 17. python regex assistence
- 18. R, gsub içinde regex [: punct:] nasıl kullanılır?
- 19. Python - - Regex Nasıl aşağıdaki
- 20. Şerit Denetimi ile Parametrelerin Eklenmesi
- 21. (*) Kıvılcım Python işareti benim dosyalardan
- 22. Python regex groupdict,
- 23. Şerit boşlukları/sekmeler/yeni satırlar - python
- 24. PHP regex maç belirli URL ve şerit diğerleri
- 25. Bir dizedeki tüm noktalama işaretleri nasıl kaldırılır? (Python) Örneğin
- 26. Python regex findall,
- 27. Python regex arama
- 28. Python RegEx Newline
- 29. Python 3.x dizesinde noktalama işaretlerini .translate() kullanarak nasıl kaldırabilirsiniz?
- 30. Regex Unicode ve DB Okuma/
Python 3.x kullanırken, sadece normal ifadede W w ve \ \ kullanabilirsiniz:
string.punctuation
ilestr.strip
kullanın. Bu sadece bir Tkinter metin widget'ında Control-Shift-Left/Right işlevini (bir sözcükten önce noktalama işaretleri gibi tüm öğeleri atlamak için) kodlamadı. Bu çözümü bulmadan önce yazınızı buldum. Yani, benzer bir teknede birisine yardımcı olabileceğini düşünüyorum. – Shule