str.translate()
Метод translate() возвращает копию строки, в которой каждый символ заменён в соответствии с переданной таблицей. Таблица обычно создаётся с помощью str.maketrans() и представляет собой словарь {код_символа: замена}. Значение замены может быть строкой, числовым кодом символа или None (в этом случае символ удаляется).
Сигнатура
str.translate(table)
Параметры
table— словарь, отображающий целочисленные коды символов в строки, целые числа илиNone.
Возвращаемое значение
Новая строка после применения таблицы. Исходная строка не меняется.
Примеры использования
Пример 1. Простая замена.
table = str.maketrans("ao", "@0")
print("arduino".translate(table))
@rduin0
Здесь буква a заменена на @, а o — на 0. Остальные символы остались без изменений.
Пример 2. Удаление цифр.
table = str.maketrans("", "", "0123456789")
print("Pin13 Mode2 Value255".translate(table))
Pin Mode Value
Пример 3. Маскирование пароля.
import string
table = str.maketrans(string.ascii_letters + string.digits,
"*" * (len(string.ascii_letters) + len(string.digits)))
print("secret123".translate(table))
*********
Пример 4. Очистка от знаков препинания.
import string
text = "Hello, AlashEd! Welcome to wiki..."
print(text.translate(str.maketrans("", "", string.punctuation)))
Hello AlashEd Welcome to wiki
Пример 5. Перевод цифр в символы (lookalike).
table = str.maketrans({"a": "@", "e": "3", "i": "1", "o": "0", "s": "$"})
print("arduino sensor".translate(table))
@rdu1n0 $3n$0r
См. также
str.maketrans() — создание таблицы перевода
str.replace() — замена подстрок
str.strip() — удаление символов по краям
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.