Убрать лишние символы в словах

Рейтинг: 0Ответов: 2Опубликовано: 02.02.2023
line = ['ethdubai (3).db', 'https://t.me/aiogram_ru', 'ethdubai.db', 'telegram', '@markdown',
        '@metamaskofficialchat / Metamask | Offical Chat | ноя,2020']
for i in line:
    word = i.replace(f'.{i.split(".")[1]}', '')
    print(word)

У меня есть код где он убирает "." и выдает имена но мне надо сделать более гибкий код

Те ссылки или названия групп надо взять основу

ethdubai
aiogram_ru
ethdubai
telegram
markdown
metamaskofficialchat

Как реализовать такой алгоритм

Ответы

▲ 2

Предложу такой вариант. Поскольку принцип выбора слов из исходных текстов точно не определен, ориентировался на результат. Алгоритм следующий - с помощью регулярного выражения заменяем все символы, кроме буквенного или цифрового символа или знака подчёркивания, на пробел. Затем разрезаем по пробелам и находим самое длинное слово путем сортировки. Найденное слово выводим как результат.

import re

line = ['ethdubai (3).db', 'https://t.me/aiogram_ru', 'ethdubai.db', 'telegram', '@markdown',
        '@metamaskofficialchat / Metamask | Offical Chat | ноя,2020']
for i in line:
    word = sorted(re.sub(r'\W', ' ', i).split(), key=len, reverse=True)[0]
    print(word)
ethdubai
aiogram_ru
ethdubai
telegram
markdown
metamaskofficialchat
▲ -1

Попробуйте так

#К переменной можно более точное условие указать на что будет меняться
text_replace = ''
i.replace('то что хотим убрать', text_replace)