У меня есть часть строки, которая дублирует себя, и я хочу удалить все повторяющиеся «подстроки», не теряя порядок слов в строке.
Например: "12 PL DE LA HALLE BP 425 BRIVE-LA-GAILLARDE BP 425 BRIVE-LA-GAILLARDE BP 425 BRIVE-LA-GAILLARDE BP 425 BRIVE-LA-GAILLARDE"
Здесь "BP 425 BRIVE-LA-GAILLARDE"
повторяется 4 раза.
Я бы хотел, чтобы строка наконец была "12 PL DE LA HALLE BP 425 BRIVE-LA-GAILLARDE"
, где были удалены дубликаты.
Эта проблема возникает, когда один из моих обобщенные c модули скребка собирают все текстовые элементы с определенного элемента HTML. В элементе HTML одна и та же информация повторяется несколько раз, но скрывается с помощью CSS. Вот почему я ищу универсальный способ дедупликации подстрок c.
Дополнительные примеры дублированных подстрок:
"TOUR SOCIETE SUISSE 1 BD VIVIER MERLE 1 BD VIVIER MERLE"
=> "TOUR SOCIETE SUISSE 1 BD VIVIER MERLE"
"2 PARC DES ERABLES 66 RTE DE SARTROUVILLE 66 RTE DE SARTROUVILLE"
=> "2 PARC DES ERABLES 66 RTE DE SARTROUVILLE"
"CASERNE AUDEOUD 111 AV DE LA CORSE 111 AV DE LA CORSE"
=> "CASERNE AUDEOUD 111 AV DE LA CORSE"
Простой способ не повторять одно и то же слово дважды здесь не работает, потому что в случае, когда слова повторяются, но не дублируются, например: "12 PL DE LA HALLE BP 425 BRIVE LA GAILLARDE BP 425 BRIVE LA GAILLARDE"
, здесь "LA" между BRIVE и GAILLARDE будет удалено.
и вывод будет: "12 PL DE LA HALLE BP 425 BRIVE GAILLARDE"
, тогда как фактический желаемый результат: "12 PL DE LA HALLE BP 425 BRIVE LA GAILLARDE"
Я догадываюсь, что нужно сравнить последовательность слов. Но не уверен, как именно.
Любая помощь приветствуется.