Alle unerlaubten Zeichen aus String entfernen

SeeSharpNewBee

Erfahrenes Mitglied
Hi,

ich möchte alle unerlaubten Zeichen aus eine String nach der eingabe entfernen, angefangen habe ich so:

Code:
searchWord = request.getParameter("sw").toString().replaceAll("[^A-Za-z0-9+-]", "");

Zulassen möchte ich nur "A-Z, a-z, 0-9 + -" sowie Umlaute. Wie mache ich das damit auch Umlaute zugelassen werden?

Danke!

//EDIT:

Wie bekomme ich es außerdem hin, das er mir bei dem obigen Code nicht alle Leerzeichen entfernt?

Danke!
 
Zuletzt bearbeitet:
Hallo,

schau mal hier:
Java:
/**
 * 
 */
package de.tutorials;

/**
 * @author Tom
 *
 */
public class OnlyValidCharactersExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String someText =" ABC12 ÄÜÖöä üß!#122 34567 890saklx xx###-- _aaaa-_bbbb+*s.";
		System.out.println(someText);
		System.out.println(someText.replaceAll("[_[^\\w\\däüöÄÜÖ\\+\\- ]]", "")); 
	}

}

Ausgabe:
Code:
 ABC12 ÄÜÖöä üß!#122 34567 890saklx xx###-- _aaaa-_bbbb+*s.
 ABC12 ÄÜÖöä ü122 34567 890saklx xx-- aaaa-bbbb+s

Gruß Tom
 
Hi,

danke für die Antwort, hat super funktioniert!

Ich würde aber jetzt gerne wissen, was der Unterschied zwischen
Code:
replaceAll("[^A-Za-z0-9+-]", "")

und

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

ist.

Zb.: warum du da "\\" drinnen hast usw.

Danke!
 
Hallo,

ich habe im Prinzip das gleiche Problem.

Ich möchte jedoch erstmal diese Zeichen entfernen [ ( )" ] (also runde Klammer auf und zu und die "Gänsefüßchen".

Ich habe das jedoch diverse male ausprobiert und es funktioniert nicht.
z.B. mit:
Code:
wort.replaceAll("^a-zA-Z0-9"]", "");

das klappt aber nicht ...
 
Zuletzt bearbeitet:
Zurück