hallo zusammen,
Ich habe 2 Strings und will wissen, ob in beiden das gleiche Wort steht. Das Problem besteht jetzt darin, dass auch nicht deustche sonderzeichen und normale buchstaben als gleich erkannt werden sollen. z.B.
Meine Idee zur Lösung war folgende: Ich erstelle mir einfach Tabellen, in denen alle Zeichen die für mich gleich sind vorkommen z.b:
usw.
Dabei hab ich jedoch folgendes Problem: Meine Strings sind ISO codiert und das Zeichen 'ć' kommt nur in ISO-8859-2, ISO-8859-13 und ISO-8859-16 vor.
bei iso ISO-8859-16 ist es mit '11100011' codiert, bei ISO-8859-13 mit '11100101' und bei ISO-8859-2 mit '11100110'. Da ich nicht weiß welche codierung genau verwendet wird, müsste ich alle 3 bitfolgen in meine tabelle mit aufnehmen. Das kann ich aber nicht machen, weil die bitfolgen '11100011' unter iiso ISO-8859-13 zufällig dem 'y' entspricht. u.u. wäre es also denkbar, dass 'y' und 'c' als gleich erkannt werden, und das sollte natürlich nicht passieren.
Mir fällt keine perfekte Lösung ein, das einfachste wäre es wohl, einfach alle zeichen die in der plattformcodierung nicht enthalten sind, durch irgendein zeichen zu ersetzten z.b. '_'. Wie könnte man das den machen?
mfg Ludwig
Ich habe 2 Strings und will wissen, ob in beiden das gleiche Wort steht. Das Problem besteht jetzt darin, dass auch nicht deustche sonderzeichen und normale buchstaben als gleich erkannt werden sollen. z.B.
Code:
String s1 = "Robić";
String s2 = "Robic";
Meine Idee zur Lösung war folgende: Ich erstelle mir einfach Tabellen, in denen alle Zeichen die für mich gleich sind vorkommen z.b:
Code:
char[] c1 = new char[]{'ć','c',...}
char[] c1 = new char[]{'À','A',...}
Dabei hab ich jedoch folgendes Problem: Meine Strings sind ISO codiert und das Zeichen 'ć' kommt nur in ISO-8859-2, ISO-8859-13 und ISO-8859-16 vor.
bei iso ISO-8859-16 ist es mit '11100011' codiert, bei ISO-8859-13 mit '11100101' und bei ISO-8859-2 mit '11100110'. Da ich nicht weiß welche codierung genau verwendet wird, müsste ich alle 3 bitfolgen in meine tabelle mit aufnehmen. Das kann ich aber nicht machen, weil die bitfolgen '11100011' unter iiso ISO-8859-13 zufällig dem 'y' entspricht. u.u. wäre es also denkbar, dass 'y' und 'c' als gleich erkannt werden, und das sollte natürlich nicht passieren.
Mir fällt keine perfekte Lösung ein, das einfachste wäre es wohl, einfach alle zeichen die in der plattformcodierung nicht enthalten sind, durch irgendein zeichen zu ersetzten z.b. '_'. Wie könnte man das den machen?
mfg Ludwig