Czy istnieje sposób, aby zrobić tłumaczenie znaków (coś w rodzaju polecenia tr) przy użyciu PythonaCharakter Tłumaczenie przy użyciu Python (jak polecenie tr)
Odpowiedz
Zobacz string.translate
import string
"abc".translate(string.maketrans("abc", "def")) # => "def"
uwaga komentarzy doc chodzi o subtelności w tłumaczeniu łańcuchów unicode.
Edytuj: Od tr
jest nieco bardziej zaawansowany, należy również rozważyć użycie re.sub
.
Jeśli używasz python3 przetłumaczyć mniej gadatliwy:
>>> 'abc'.translate(str.maketrans('ac','xy'))
'xby'
Ahh .. i nie jest też odpowiednik tr -d
:
>>> "abc".translate(str.maketrans('','','b'))
'ac'
Dla tr -d
z python2.x użyć dodatkowego argumentu do tłumaczenia funkcji:
>>> "abc".translate(None, 'b')
'ac'
czy istnieje odpowiednik dla 'tr -cd'? – Sundeep
Prostsze podejście może być dla nas e zastąp. na przykład
"abc".replace("abc", "def")
'def'
Nie trzeba niczego importować. Działa w Pythonie 2.x
W Pythonie 2, unicode.translate()
przyjmuje zwykłe odwzorowania, tj. nie trzeba importować niczego albo:
>>> u'abc+-'.translate({ord('+'): u'-', ord('-'): u'+', ord('b'): None})
u'ac-+'
Sposób translate()
jest szczególnie przydatna do ciężkich znaków (jako „+” i „-” powyżej), które nie mogą być wykonane z replace()
i używając re.sub()
ISN” bardzo proste w tym celu.
Muszę jednak przyznać, że wielokrotne użycie ord()
nie sprawia, że kod wygląda ładnie i porządnie.
Opracowałem Pythona-tr, zaimplementowany algorytm tr. Spróbujmy.
Instalacja:
$ pip install python-tr
przykład:
>>> from tr import tr
>>> tr('bn', 'cr', 'bunny')
'curry'
>>> tr('n', '', 'bunny', 'd')
'buy'
>>> tr('n', 'u', 'bunny', 'c')
'uunnu'
>>> tr('n', '', 'bunny', 's')
'buny'
>>> tr('bn', '', 'bunny', 'cd')
'bnn'
>>> tr('bn', 'cr', 'bunny', 'cs')
'brnnr'
>>> tr('bn', 'cr', 'bunny', 'ds')
'uy'
Ten działa Pythona 3
Czym różni się to od [odpowiedź] Piotra Czapli (http://stackoverflow.com/a/1385542/369450)? – cpburnz
- 1. Python i charakter normalizacja
- 2. Czy można pominąć tłumaczenie przy użyciu joomfish?
- 3. Jak obsługiwać tłumaczenie w pliku twig przy użyciu zmiennych?
- 4. Wymienić cały wiersz tabeli (w tym <tr></tr>) przy użyciu JQuery
- 5. Tłumaczenie preg_match_all PHP na Python
- 6. Python: Brak pliku tłumaczenie znalezionych dla domeny przy użyciu niestandardowych lokalizacji folderu
- 7. Błąd Python przy użyciu urllib.open
- 8. Jak wykonać polecenie w NodeJS przy użyciu środowiska użytkownika?
- 9. python przy użyciu metody argparse.ArgumentParser
- 10. użyciu nth-child w tabelach tr td
- 11. Uruchamiaj polecenia npm przy użyciu podprocesu Python
- 12. niezamknięte Charakter błędu Dosłowne
- 13. Jak określić „charakter
- 14. Tłumaczenie PHP na Python (połączenie Rest-API)
- 15. Jak uruchomić python setup.py rozwijać polecenie wewnątrz virtualenv używając ansible
- 16. Jak wstawić nowy TR do ŚRODKÓW tabeli HTML przy użyciu JQuery?
- 17. Podłoża ciągu znaków przy użyciu języka Python
- 18. Wyszukiwarka Google przy użyciu skryptu python
- 19. Get subdomenę z URL przy użyciu Python
- 20. o google google przy użyciu python
- 21. Załącznik Obraz wysłać pocztą przy użyciu Python
- 22. Błąd przy użyciu knnMatch z OpenCV + Python
- 23. Parsowanie ciągów przy użyciu języka Python?
- 24. Wysyłanie wiadomości xmpp przy użyciu biblioteki python
- 25. Jak animować tłumaczenie widoku
- 26. czyszczenie dużych danych przy użyciu python
- 27. wyjście polecenie Wyłącz system Windows przy użyciu „ExecWait” w NSIS
- 28. python: udostępnianie ogromnych słowników przy użyciu wieloprocesowości
- 29. python: urllib2 przy użyciu innego interfejsu sieciowego
- 30. Python: przy użyciu doctests dla klas
Dla python3 obiekt '' module 'nie ma atrybutu "maketrans''. Użyj '" abc ".translate (str.maketrans (" abc "," def "))' bezpośrednio! – SparkAndShine