java string split sur tous les non-alphanumériques à l'exception des apostrophes
Donc je veux découper une chaîne en java sur tous les caractères non alphanumériques.
Actuellement, j'ai fait ça comme cette
words= Str.split("\\W+");
Mais je tiens à garder les apostrophes("'") là-dedans. Est-il une expression régulière pour préserver les apostrophes mais le coup le reste de la malbouffe? Merci.
Vous devez vous connecter pour publier un commentaire.
Il suffit de l'ajouter à la classe de caractères.
\W
est équivalent à[^\w]
, que vous pouvez ensuite ajouter'
à.Noter, cependant, que
\w
aussi comprend en fait des caractères de soulignement. Si vous voulez diviser sur souligne ainsi, vous devriez être en utilisant[^a-zA-Z0-9']
à la place.\W
, j'ai choisi de conserver. Cependant, j'ai fait ajouter une note à ce sujet.a-zA-Z
ne fonctionne que pour les anglais caractères. Une approche plus générale est\p{L}
. BTW pour réduire la confusion, vous devriez vraiment y échapper barre oblique inverse.Pour un anglais de base, des caractères, utilisez
Si vous souhaitez inclure des mots anglais avec des caractères spéciaux (tels que fiancé) ou pour les langues utilisant des caractères non anglais, aller avec