2011-09-13 11 views
1

Possible en double:
JAVA: check a string if there is a special character in itcomment vérifier une chaîne pour un caractère spécial en Java

Je teste une méthode qui transforme une chaîne dans une autre chaîne sauf qu'il PRESERVERS tout spécial caractères (non alphanumériques).

Je cherche donc à tester la sortie de cette méthode pour m'assurer qu'elle préserve réellement ces caractères.
Je sais que cela demande l'utilisation des classes Pattern et Matcher mais je ne sais pas comment.
Je pense que j'ai besoin de construire un modèle de format, le compiler avec Pattern et ensuite l'utiliser avec Matcher avec la chaîne de sortie de ma méthode de test .
Je vais donc créer le modèle de format caractère par caractère. Pour les chiffres et les caractères, je peux utiliser la classe IsLetter et IsDigit of Character et insérer "\\d" pour les chiffres dans mon modèle.
Vous ne savez pas exactement ce que je devrais utiliser pour les lettres et les caractères spéciaux.

Des idées?

Merci.

+0

Définition de "conserves" - que cela signifie ' "abc d!". -> "!." 'ou' "abc! d." -> "!." 'ou autre chose? Veuillez donner des exemples de données d'entrée et de sortie – Bohemian

Répondre

0

Vous devez écrire un modèle qui remplace tous les caractères interdits et utiliser la méthode String.replaceAll(). Quelque chose comme ce qui suit:

str = str.replaceAll("[^\\w_\\d]", "");

+0

fyi, '\ w' * inclut *' _' et '\ d', donc simplement [^ \\ w]' est la même chose que votre regex – Bohemian

Questions connexes