Задать вопрос

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

Есть две строки
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 и более переменные и найти часть текста которая встречается во всех переменных, а в которых не встречается - отбросить..
  • Вопрос задан
  • 424 просмотра
Подписаться 4 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 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 "

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

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
31 янв. 2025, в 08:29
1000 руб./в час
31 янв. 2025, в 06:03
9999999 руб./за проект
31 янв. 2025, в 06:02
9999999 руб./за проект