Spracherkennung für: .~1~ vermutete Sprache: SPS {SPS[130] CS[157] Ada[200]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
//-------------------------------------------------------
//
//-------------------------------------------------------
function issimilar(L, R: String): boolean;
var
vl, vr: String;
res: boolean;
function isnumber(S: String): boolean;
var
i: integer;
res: boolean;
begin
res := true;
if length(S) = 0 then
res := false;
for i := 1 to length(S) do
res := res and charinset(S[i], ['0' .. '9', '.', '.', '+', '-']);
result := res;
end;
begin
vl := LowerCase(L);
vr := LowerCase(R);
//remove separators
if (vl > '') and (vl[1] = FDB[1]) then
vl := MidStr(vl, 2, length(vl) - 2);
if (vr > '') and (vr[1] = FDB[1]) then
vr := MidStr(vr, 2, length(vr) - 2);
//
res := false;
//
if (length(vl) = 0) or (length(vr) = 0) then
res := false
else if vl = vr then
res := true
else if isnumber(vl) and isnumber(vr) then begin
vl := StringReplace(vl, '-', '', [rfReplaceAll]);
vl := StringReplace(vl, '+', '', [rfReplaceAll]);
vr := StringReplace(vr, '-', '', [rfReplaceAll]);
vr := StringReplace(vr, '+', '', [rfReplaceAll]);
res := vl = vr;
end;
//
result := res;
end;
[ Dauer der Verarbeitung: 0.120 Sekunden
]