trzeba użyć regex do strip interpunkcji na rozpocząć i koniec słowa. Wygląda na to, że najlepszym rozwiązaniem będzie regex. Nie chcę, aby interpunkcja była usuwana ze słów takich jak "jesteś", dlatego nie używam .replace(). Z góry dziękuję =)strip interpunkcji z regex - pyton
Odpowiedz
Do wykonania tego zadania nie potrzebujesz wyrażenia regularnego. Użyj str.strip
z string.punctuation
:
>>> 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"
Po prostu z ciekawości, jaka byłaby w tym celu metoda wyrażeń regularnych? –
're.sub ('\ S +', lambda m: re.sub ('^ \ W + | \ W + $', '', m.group()), '...')'. UWAGA: Musisz dokładnie zastąpić '\ W', ponieważ wyklucza' _' (jeśli traktujesz "_" jako znak interpunkcyjny). DEMO: http://ideone.com/Ti44Bw – falsetru
Świetnie! Wielkie dzięki! Nawiasem mówiąc, jest to odpowiednik twojego - 're.sub ('\ S +', lambda m: re.match (r '^ \ W * (. * \ W) \ W * $', m.group ()). group (1), text) '? Jeśli tak, to który z nich jest szybszy (lub w inny sposób lepszy)? [Demo] (http://ideone.com/EDan4X) –
- 1. strip verbose python regex
- 2. pyton grupa regex opcja przechwytywania
- 3. Czy istnieje lepszy sposób użycia strip() na liście ciągów? - pyton
- 4. Regex za pomocą js do strip js z html
- 5. Wyrażenia regularne na interpunkcji
- 6. Regex - Strip non numeric i usuń centy, jeśli jakieś.
- 7. Usuwanie interpunkcji/liczb z problemu tekstowego
- 8. Python strip() multiple characters?
- 9. pyton dekorator z javascript
- 10. JavaScript Strip Vowels
- 11. „Symbole Strip debugowania podczas kopiowania” i „Strip Związany Produkt”
- 12. strip tags python
- 13. Jak strip danych z tagów HTML
- 14. Jak strip dekoratorów z funkcją w python
- 15. Strip html z ciągu Ruby on Rails
- 16. Jak używać interpunkcji Ninject za pomocą InterceptAttribute
- 17. Strip złe Okna znaki nazw
- 18. doładowania pyton z klasą szablonu
- 19. pyton syntezuje midi z płynem
- 20. Solr: strip interpunkcja przed indeksem
- 21. pyton wideoteka
- 22. Android Strip Audio From Video
- 23. pyton webbrowser
- 24. Regex pasujące do pierwszego słowa w zdaniu
- 25. Strip \ n \ t \ r w scrapy
- 26. NOT strip debug symbols ndk-build
- 27. Przyspieszyć pętli pyton
- 28. pyton równoważne porównywalnych
- 29. Dosyć drukowany pyton JSON
- 30. Proste wyrażenie regularne javascript do strip numerów
Dla tych, którzy przyjeżdżają tu w poszukiwaniu sposobu na odróżnienie Unicode znaków alfanumerycznych i wszystkiego innego, podczas korzystania z Pythona 3.x, można po prostu użyć \ w i \ W w wyrażeniu regularnym. Pomogło mi to zakodować funkcjonalność Control-Shift-Left/Right w widgecie tekstowym Tkinter (aby pominąć wszystkie rzeczy, takie jak interpunkcja przed słowem). Znalazłem twoją pocztę, zanim znalazłem to rozwiązanie. Tak więc, myślę, że to może pomóc komuś w podobnej łodzi. – Shule