java regex ersetzen von Sonderzeichen und Leerzeichen mit Bindestrich
Habe ich den folgenden string,
String model = "Town & Country";
Möchte ich die Sonderzeichen ersetzen und die Leerzeichen mit einem Bindestrich sowie den unteren Fall ist es für eine schöne, saubere url.
Beispiel
"town-country"
Ich habe versucht den folgenden code.
"Town & Country".replaceAll("[^A-Za-z0-9]", "-").toLowerCase();
aber ich landete mit der folgenden Ausgabe.
town---country
Könnte jemand mir helfen, mit der regex, damit dies korrekt funktioniert? Ich, wenn es mehrere Räume, ich möchte es zu reduzieren auf ein einzelnes Leerzeichen ersetzt, die durch einen Bindestrich. Wenn es eine gute java-Bibliothek gibt, entworfen, um dies zu tun, wäre ich daran interessiert, jedoch möchte ich nicht verwenden Pluspunkte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du bist in der Nähe, die Sie gerade brauchen, um hinzuzufügen, ein Quantifizierer, um den Ausdruck zu ermöglichen, das mit mehr als einem Zeichen.
(Hinweis: die
+
am Ende.)So, der code sollte so sein:
Live Beispiel auf regexr