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.

InformationsquelleAutor Code Junkie | 2015-01-25
Schreibe einen Kommentar