0
votes

Caractère Convertir Regex en Java

J'essaie de créer un convertisseur de texte pour les noms de fichiers avec regex, dans ce texte, il existe des types de tiret et des types de trait de tricoles différents. Je veux les convertir tout en un simple trait d'union.

Il existe plusieurs types de tirets différents et leurs universodes sont ici: xxx

si un caractère est l'un de ces caractères. Unicodes, alors je veux le convertir en un trait simple qui est U2010 avec regex.

Comment faire ce personnage convertit regex avec Java?

au début Je vérifiais que le nom du fichier est valide ou non comme ceci: xxx

mais maintenant je ne veux pas le valider, je veux juste remplacer les caractères avec un trait d'union U2010


0 commentaires

4 Réponses :


3
votes

Utiliser .ReplaceAll (, ) (voir: Java 8 API: String )

Dans votre cas, ce serait: file.getfilename (). RemplacementAll (nom_fichier.tostring (), "\ u2010")


3 commentaires

Mais je suggérerais fortement un nom de variable différent pour le motif ...


Merci mais ici, je veux convertir seulement les tirets moins des signes que j'ai mentionné dont les unicodes, pas des lettres, vous pouvez donc corriger le modèle de regex?


Il suffit de les retirer de votre regex, gardez simplement les choses là-bas que vous voulez remplacer



1
votes

Vous pouvez le faire comme ceci:

fileName.replaceAll("\u2212|\u002D|\u05BE|\u2011|\u2012|\u2013|\u2014|\u2015|\u207B|\u208B|\u2212|\uFE58|\uFE63|\uFF0D", "\u2010");


0 commentaires

0
votes

appelez la méthode remplaploil () sur fichier.getfilename () comme indiqué ci-dessous: xxx


0 commentaires

1
votes

Il faut ressembler à: xxx

ici \ u2212 sont en caractères java avec les valeurs hexadécimales à 4 chiffres de UTF-16. Il n'y a pas de magie, \ u0063 est identique que C comme dans public \ u0063lass x {} .

ressource Pour Dash comme Unicode .


0 commentaires