Comment filtrer chaîne de caractères indésirables en utilisant les regex?

En gros , je me demande si il y a une pratique de classe ou une méthode pour filtrer une Chaîne de caractères indésirables. La sortie de la méthode devrait être le 'nettoyés' Chaîne. C'est à dire:

String dirtyString = "This contains spaces which are not allowed"

String result = cleaner.getCleanedString(dirtyString);

Attend résultat serait:

"Thiscontainsspaceswhicharenotallowed"

Un meilleur exemple:

String reallyDirty = " this*is#a*&very_dirty&String"

String result = cleaner.getCleanedString(dirtyString);

J'attends le résultat:

"thisisaverydirtyString"

Parce que, je laisse le nettoyeur de savoir que ' ', '*', '#', '& " et " _ " sont sales caractères. Je peux le résoudre en utilisant un blanc/liste noire tableau de caractères. Mais je ne veux pas ré-inventer la roue.

Je me demandais si il y a déjà une chose qui peut "nettoyer" les chaînes à l'aide d'une expression régulière. Au lieu d'écrire moi-même.

Outre:
Si vous pensez que le nettoyage d'une Chaîne qui pourrait être fait différemment/mieux alors je suis tout ouïe du

Un autre plus:
- Ce n'est pas seulement pour les espaces, mais pour n'importe quel genre de personnage.

  • Alors, vraiment de caractères indésirables entend de tout ce qui n'est pas un a-z ou 0-9? J'ai mis à jour ma réponse, mais il est encore difficile de savoir ce qu'est un sale caractère et ce qui est propre.