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: p> si un caractère est l'un de ces caractères. Unicodes, alors je veux le convertir en Comment faire ce personnage convertit regex avec Java? P> au début Je vérifiais que le nom du fichier est valide ou non comme ceci: p> mais maintenant je ne veux pas le valider, je veux juste remplacer les caractères avec un trait d'union U2010 P > p>
4 Réponses :
Utiliser Dans votre cas, ce serait:
file.getfilename (). RemplacementAll (nom_fichier.tostring (), "\ u2010") code> p> p>
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
Vous pouvez le faire comme ceci:
fileName.replaceAll("\u2212|\u002D|\u05BE|\u2011|\u2012|\u2013|\u2014|\u2015|\u207B|\u208B|\u2212|\uFE58|\uFE63|\uFF0D", "\u2010");
appelez la méthode remplaploil () code> sur
fichier.getfilename () code> comme indiqué ci-dessous:
Il faut ressembler à: ici ressource Pour Dash comme Unicode . P> p> \ u2212 code> sont en caractères java avec les valeurs hexadécimales à 4 chiffres de UTF-16.
Il n'y a pas de magie,
\ u0063 code> est identique que
C code> comme dans
public \ u0063lass x {} code>. P>