Удвоить слова в строке с разделителями, в которых есть хотя бы одна буква отличная от букв в данном слове

Проблема заключается в разделении входной строки на слова. Есть входная строка состоящая из слов и разделительных символов и есть некое слово, надо каждое слово внутри строки удвоить, если в нем есть хотя бы одна буква отличная от букв в слове. Проблема заключается в разделении входной строки на слова. Дальше понимаю как сделать, но для этого нужен такой список, чтобы проверить каждую букву из каждого элемента списка на вхождение в данное слово. Вот начало моего кода:

razd = str(',;:.?!')
razd = razd + '"' + "'"
slovo = input()
stroka = input()
for i in stroka:
    if i in razd:
        stroka = stroka.split(sep=i)

Ответы (1 шт):

Автор решения: Alioshca Z

Приведите пример входных данных, а то по описанию пока не совсем понятно. В общем виде можно всегда использовать регулярные выражения.

import re

slovo = 'погода'
stroka = 'пог/ушёл:;иду'

bad_words = []

slova_iz_stroki = re.findall(r'[a-zA-Zа-яА-ЯёЁ0-9]+', stroka)

for sl in slova_iz_stroki:
    status = 0
    for bukva in sl:
        if bukva in slovo:
            continue
        else:
            status += 1
    if status > 0:
        bad_words.append(sl)

for slv in bad_words:
    stroka = stroka.replace(slv, slv*2)

print(stroka)
→ Ссылка