Как найти частичное совпадение строки?
Пробовал использовать алгоритм Левенштейна, но он зависит от длинны строки.
Пример:
let c = "1"
let b = "1"
let bb = "12"
let bbb = "123"
console.log(aza(c, b)); //100
console.log(aza(c, bb)); //50
console.log(aza(c, bbb)); //33
function aza(firstString, secondString, round = true) {
import leven
//Calculate leven distance.
const levenDistance = leven(firstString, secondString);
//Find longest string.
const longestString = Math.max(firstString.length, secondString.length);
//Calculate in percentage.
const result = (longestString - levenDistance) / longestString * 100;
return round ? Math.round(result) : result;
}
Как сделать, чтобы во всех вариантах было 100, так-как там есть искомая строка.
P.S Там, в примере "1", что выглядит глупо. Его я взял лишь для наглядного отображения процентов.
В реальной задаче там будет что-то на подобии:
const string1 = "4185614171";
const veryVeryLongText = "И тут длинный текст со значением, 41856AA4171";
Соответственно, нужно четко понять, что содержимое string1 есть в veryVeryLongText, в процентах, к string1.