Удалить несколько похожих слов из строки - Python - PullRequest
0 голосов
/ 29 января 2020

description = "100 Kilogram/Kilograms" Мне нужен результат "100 килограмм" Выше приведен только пример, я не буду знать, что будет похоже в описании, Как это может быть description ="200 mt / mts" or description = "12.00 kilogram // kilograms" or description = "200 square meter / square meter" Я ищу помощь, которая может помочь удалить почти те же слова из строки. Примечание: я не буду знать, что именно там почти одинаково, а может и нет.

1 Ответ

1 голос
/ 29 января 2020

Вы можете использовать difflib

Вот пример:

import re
import difflib

description = "200 mt / mts"


def remove_same(string):
    striped = re.findall(r"[\w+.']+", string)
    for i in striped:
        same = difflib.get_close_matches(i, striped)
        if len(same) > 1:
            striped.remove(same[1])
    return " ".join(striped)


print(remove_same(description))

Вывод будет:

200 mts
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...