Форум сайта python.su
0
В коротком примере попытка решить задачу: ввести русское слово и удалить из него все буквы ‘ы’ и ‘и’.
#!/usr/bin/python # -*- coding: utf-8 -*- string=raw_input("Слово? ") print string.translate(None,"ыи")
$./test-ru.py
Слово? ыыыаааиии
���
, например :#!/usr/bin/python # -*- coding: utf-8 -*- string=raw_input("Слово? ") print string.translate(None,"ыи").encode('utf8')
$ ./test-ru.py Слово? ыыыаааииии Traceback (most recent call last): File "./test-ru.py", line 4, in <module> print string.translate(None,"ыи").encode('utf8') UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 0: ordinal not in range(128)
Отредактировано eiler13 (Янв. 7, 2014 18:11:58)
Офлайн
0
Попробуй почитать тут, может поможет.
Офлайн
33
eiler13
Помогите разобраться с вводом, обработкой и выводом слов с русскими символами.
lst_char = u'ыи' dict_chars = {ord(c): None for c in lst_char} s = raw_input().decode('utf-8') print(s.translate(dict_chars))
Отредактировано Budulianin (Янв. 7, 2014 18:50:56)
Офлайн
0
BudulianinА метода удаления символов для строк не существует? мне ничего не удалось найти для этого, кроме translate.
Офлайн
33
eiler13
А метода удаления символов для строк не существует? мне ничего не удалось найти для этого, кроме translate.
Отредактировано Budulianin (Янв. 7, 2014 19:37:22)
Офлайн
0
Budulianinболее точно заменяет :-)
Офлайн
33
eiler13
P.S. я просто уточняю, может что-то пропустил
Отредактировано Budulianin (Янв. 7, 2014 19:45:27)
Офлайн
0
Budulianin
Офлайн
33
eiler13это делает translate
новая_строка=строка.delete('символы_для_удаления')
Budulianin
P.S. теоретически может существовать метод
Отредактировано Budulianin (Янв. 7, 2014 20:11:39)
Офлайн
0
eiler13Не ради холивара, но все же предложу использовать Python 3. Он прекрасно работает с кириллицей, без всяких decode и encode
Помогите разобраться с вводом, обработкой и выводом слов с русскими символами.
Офлайн