Python. Удаление несольких символов из строки
К примеру, есть строка:
stck = 'Stackoverflow'
, задача удалить из данной строки символы s, s = 'owf'
именно одной строкой s. Использование циклов или импортирование библиотек не приветствуется. Решение можно не самое эффективное, но самое простое.
Ответы (3 шт):
Автор решения: mrgervant
→ Ссылка
По условиям задачи подойдет решение с методом str.translate:
stck = 'Stackoverflow'
s = 'owf'
stck = stck.translate(str.maketrans("", "", s))
print(stck) >>> Stackverl
Более простое решение (метод str.replace более известен) будет всё же с циклом:
stck = 'Stackoverflow'
s = 'owf'
for ch in s:
stck = stck.replace(ch, '')
print(stck) >>> Stackverl
Менее простое решение можно написать с re
(стандартная библиотека Python) - через метод re.sub:
import re
stck = 'Stackoverflow'
s = 'owf'
mask = '[' + '|'.join(s) + ']'
stck = re.sub(mask, "" , stck)
print(stck) >>> Stackverl
Автор решения: iglebov
→ Ссылка
Не самое красивое решение, но при помощи .replace
и без использования цикла:
stck = 'Stackoverflow'
s = 'owf'
print(stck.replace(s[0], "").replace(s[1], "").replace(s[2], ""))
Вывод при запуске кода:
'Stackverl'
Автор решения: u111
→ Ссылка
str_ = 'StackoveflowString'
s = 'owf'
print(''.join([i for i in str_ if i not in s]))