Strings vergleichen?
Wie kann ich 2 Strings miteinander vergleichen und dann die längste Übereinstimmung beider Strings ausgeben.
wie z.b:
Programmieren Hammer → amm
2 Antworten
Hier ist ein Code-Snippet von Wikibooks
private static String longestCommonSubstring(String s1, String s2) {
int start = 0;
int max = 0;
for (int i = 0; i < s1.length(); i++) {
for (int j = 0; j < s2.length(); j++) {
int x = 0;
while (s1.charAt(i + x) == s2.charAt(j + x)) {
x++;
if (((i + x) >= s1.length()) || ((j + x) >= s2.length())) break;
}
if (x > max) {
max = x;
start = i;
}
}
}
return s1.substring(start, (start + max));
}
Meines Wissens nach müsstest du dafür einen schon etwas fortgeschritteneren Algorithmus für schreiben.
Also erst einmal den String zerlegen und dann die Teile davon vergleichen nacheinander.