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

См. также

Примечание

Лицензия и источники

Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.