Modifier un texte en regex
Résolufrelon71440 Messages postés 4 Date d'inscription dimanche 7 juillet 2024 Statut Membre Dernière intervention 9 juillet 2024 - 9 juil. 2024 à 17:01
- Modifier un texte en regex
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Comment modifier un pdf - Guide
- Transcription audio en texte word gratuit - Guide
- Modifier story facebook - Guide
6 réponses
Modifié le 8 juil. 2024 à 13:55
Avec notepad++, j'ai réussi grâce aux expressions régulières suivantes :
\n(.*)Event: (.*)",(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*) \n t = t.replace ("$2", "$2")
EVENT(.*)\n t =(.*) $2
Supprimer les espace entre les lignes :
\s*\R \n
Modifié le 7 juil. 2024 à 14:45
Bonjour,
En utilisant l’éditeur Notepad++, plutôt que de chercher un regexp qui fait tout en une fois, on peut faire simple en plusieurs étapes :
Marquer les lignes qui contiennent Event:
avec CTRL+M, rechercher : Event: , cocher Marquer les lignes + Respecter la casse, et Rechercher tout, les lignes visées ont une marque bleue
Supprimer les lignes non marquées :
Menu Recherche/Signet/Supprimer les lignes non marquées
Supprimer début et fin de ligne :
avec CTRL+H, rechercher ^(.*)(Event: )(.*)(".*)$ remplacer par $3, cocher respecter la casse + Expression régulière, et Remplacer tout
(Sidney's Homecoming) Megan's Visit (Megan's Visit) (Fixed a Light Bulb)
Il faut peut être avant que tu supprimes une des lignes NTR Event: ou Loyalty Event: suivant leur utilité
Modifié le 8 juil. 2024 à 13:50
Merci, mais si je fais ça, c'est pour éviter de faire du ligne par ligne, car s'il faut que je marque chaque ligne, à ce compte-là, je fais manuellement ça va plus vite en supprimant.
J'ai eu quelque chose de concluant en faisant ça :
\n(.*)Event: (.*)",(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*) \n t = t.replace ("$2", "$2")
Modifié le 8 juil. 2024 à 13:51
Bonjour ,
Une autre solution... vu que c'est un JSON, il suffit de prendre n'importe quel langage de programmation (PHP, JavaScript, python..... ) et de boucler dessus pour récupérer les données qui t'intéressent...
8 juil. 2024 à 14:01
Hello jordane45,
L'idée est bonne dans l'absolu, mais ce n'est pas du JSON (voir notamment les commentaires avec des #, qui n'existent pas en JSON, et la présence de prédicats par exemple pour les valeurs associées aux clés unlocked, ou l'appel de fonctions (If, Text, etc). Je pense qu'en réalité, le texte proposé est du code écrit python. Bref, la solution que tu proposes ne s'applique malheureusement pas ici.
8 juil. 2024 à 21:05
Si toutes la structure du fichier ressemble à ce qui nous a été présenté, il suffit de faire un premier traitement pour supprimer les lignes avec les # et reconstruire un json propre.
La solution peut fonctionner.
Mais visiblement, le demandeur à trouvé une solution qui lui convenait à base des regex. Ma solution n'est donc pas utile, quelle que soit la difficulté à la mettre en oeuvre.
9 juil. 2024 à 14:44
Oui tout à fait. Ceci dit, supprimer les lignes de commentaires ne serait pas suffisant à cause des clés que j'ai mentionnées. Par contre ce qui aurait pu être fait c'est charger la structure à l'aide de ast.literal_eval. Néanmoins, merci pour ta contribution et bonne continuation :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJe n'ai pas vraiment compris ce que tu voulais faire. Voici ce que j'aurais proposé:
sed -E "/Event:/!d;s/.*Event[^()]*\(([^)]*)\).*/\1/"
8 juil. 2024 à 13:58
Bonjour Pierrot, l'auteur semble avoir résolu son problème depuis (voir message #4). Par ailleurs, la commande que tu proposes ne semble pas marcher.
9 juil. 2024 à 17:01
Bonjour en gros c'es du rpy en python je crois, je voulais transformer du texte en t.replace.