| 

.NET C# Java Javascript Exception

2
Ich will zwei Strings auf Ähnlichkeit vergleichen. Bevor ich das tu will ich sie aber normalisieren (ich hoffe ich verwende hier den richtigen Begriff). D.h. ich will aus den Strings alle Sonderzeichen entfernen, ins Lowercase umwandeln, unnötige Whitespaces entfernen... Dafür gibt es doch sicherlich eine Library/Funktion in Java.
09.12.2009
ermin 1,3k 1 7
4 Antworten
3
Um Sonderzeichen zu entfernen, würde auch ich mal einen Blick auf Regular Expression, kurz Regex schauen,

Eine Methode welche alle Sonderzeichen aus einem String, beispielsweise in C# entfernt, sieht folgendermaßen aus :

private string RemoveSpecialChars(string input)
{
return Regex.Replace(input, @"[^a-zA-Z0-9]", string.Empty);
}


hinzukommt, wie adalse0 sagt, ToLowerCase() und Trim()
Vielleicht hilft es Dir weiter, in Java änhliches umzusetzen.
09.12.2009
Mario Priebe 5,7k 2 9
2
Eine Funktion die alles was du willst auf einmal macht kenn ich nicht,
aber ein String bietet z.B. folgende methoden: toLowerCase() oder auch trim()(entfernt Leerzeichen an Anfang und Ende) was dir auf jeden Fall schon mal weiterhelfen sollte.

Was du mit sonderzeichen entfernen meinst weiss ich nicht genau, aber replace(oldChar, newChar) koennte dir helfen ...
09.12.2009
adalse0 161 1 3
1
In Java würde ich dazu raten mit dem replaceAll arbeiten. Dieser ersetzt alle durch ein RegEx gefundene Zeichen durch ein beliebiges Zeichen:

deinstring = deinstring.replaceAll("[_[^\w\däüöÄÜÖ\+\- ]]", "")

Hoffe das ist in etwa das was du suchst. Das entfernt aber nur gewisse Sonderzeichen. Wenn du äöü, ÄÖÜ und +- auch noch entfernen willst musst du den verwendeten RegEx anpassen.
09.12.2009
Dustin Klein 2,8k 1 9
1
schau dir vielleicht auch mal das hier an

Soundex Implementierung

oder den Wikiartikel zu der Levenshtein-Distanz
11.12.2009
Vayu 646 1 3
Ich glaub die Levenshtein Distanz ist hier ein bisschen Overkill, obwohl sie zugleich natürlich den schönsten Weg bietet Ähnlichkeiten aufzuspüren! Aber das kommt natürlich auch immer darauf an, was der Entwickler explizit vor hat :-)
Dustin Klein 13.12.2009

Stelle deine Java-Frage jetzt!