На найти общее у двух строк?

Есть две строки
var_1 = 'ebro EBI 310 TE Temperature data logger'
var_2 = 'EBRO EBI 310 TE USB-LOGGER'

как оптимально (не использую регулярные выражения и длинные циклы) создать третью переменную, в которой будет текст, который входит и впервую и во второй переменные, в частности в примере выше это будет
var_3 = 'EBRO EBI 310 TE'
PS а еще лучше сравнить таким образом 4 и более переменные и найти часть текста которая встречается во всех переменных, а в которых не встречается - отбросить..
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 2
@garbagecollected
Это классический алгоритм: Расстояние Левенштейна

Только вам нужно не расстояние левенштейна (число), а та матрица, которая формируется в функции. Она прямо указывает на то, что нужно добавить/удалить в первой строке чтобы получить вторую (минимальные изменения).

И тогда даже если строки будут обрамлены и между ними чтото:
str1 = "iii common lll part xxx";
str2 = "jjj common mmm part yyy";

или не стоит
str1 = "iii common lll part xxx";
str2 = "jjj common part yyy";

в любом случае он покажет статичную часть
" common part "

Перед использованием вам надо скопировать строки в другие переменные, привести все символы обоих строк к одному регистру: либо все буквы заглавные, либо все буквы маленькие. Так будет проще сравнивать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 10:55
2500 руб./за проект
01 мая 2024, в 10:55
3000 руб./за проект
01 мая 2024, в 10:55
3000 руб./за проект