1
votes

Comment utiliser regex pour supprimer les points-virgules?

Bonjour j'ai ce genre de données:

a;bc;d
1;23;4
a;gh;j
f;gf;d
a;d8;d

Et je voudrais modifier pour avoir ceci:

a;b;c;d
1;2;3;4
a;g;h;j
f;g;f;d
a;d;8;d

Evidemment j'ai beaucoup de lignes mais à chaque fois les points virgules sont dans la même position. J'ai essayé de sélectionner les colonnes avec notepad ++ et de remplacer le point-virgule par rien mais la case est grise ...

Avez-vous une solution?

Merci!


0 commentaires

4 Réponses :


0
votes

Maintenez ALT + MAJ et utilisez les touches fléchées pour sélectionner le deuxième point-virgule et le supprimer.

OU

Maintenez la touche ALT enfoncée et cliquez et faites glisser la souris pour sélectionner un deuxième point-virgule et le supprimer.

OU

  • Rechercher: ^ (...) (.)
  • Remplacer par: \1

0 commentaires

0
votes

Voici un testeur de regex en ligne sur lequel j'ai travaillé, vous pouvez simplement remplacer vos données par les exemples.

Regex : (\w+;)((\w+);(\w+))(;\w+)

DEMO


0 commentaires

0
votes
  • Ctrl+H
  • Trouvez ce que: ^[^;edral+;[^; +\K;
  • Remplacer par: LAISSER VIDE
  • cochez Wrap around
  • vérifier l'expression régulière
  • Tout remplacer
  • a;bc;d
    1;23;4
    a;gh;j
    f;gf;d
    a;d8;d
    

    Résultat pour l'exemple donné:

    ^           # beginning of string
      [^;]+     # 1 or more non semicolon
      ;         # 1 semi colon
      [^;]+     # 1 or more non semicolon
      \K        # forget all we have seen until this position
      ;         # 1 semi colon
    

0 commentaires

0
votes

Si les valeurs possibles des données sont des caractères minuscules az ou un chiffre, vous pouvez également capturer les 3 premiers caractères en utilisant un groupe de capture et une classe de caractères [a-z0-9] et après cela correspond à un point-virgule. S'il peut y avoir plus d'un caractère, vous pouvez utiliser un quantificateur + pour la classe de caractères comme [a-z0-9ITED+

Remplacez ensuite par le premier groupe de capture.

Trouver quoi

^([a-z0-9ITED;[a-z0-9ITED);

Remplacer par

$1

Démo Regex

Ou en utilisant \ K , vous pouvez trouver ^ [a-z0-9]; [a-z0-9] \ K; et laisser Remplacer par vide.

/ p>


0 commentaires