You are not logged in.
Pages: 1
/// string_levenshtein(str1, str2);
//
// Returns the levenshtein distance from two given strings.
//
// str1 string of text1, string
// str2 string of text2, string
//
/// GMLscripts.com/license
{
var s1 = argument0;
var s2 = argument1;
var s1len, s2len, xx, yy, lastdiag, olddiag, column;
s1len = string_length(s1);
s2len = string_length(s2);
column[s1len+1] = 0;
for(yy = 1; yy <= s1len; yy++) {
column[yy] = yy;
}
for(xx = 1; xx <= s2len; xx++) {
column[0] = xx;
lastdiag = xx-1;
for(yy = 1; yy <= s1len; yy++) {
olddiag = column[yy];
column[yy] = min(column[yy] + 1, column[yy-1] + 1, lastdiag + (string_char_at(s1, yy) != string_char_at(s2, xx)));
lastdiag = olddiag;
}
}
return column[s1len];
}
Last edited by ClavosStudios (2016-11-07 00:34:47)
Offline
Pages: 1