Bbedit wildcard

kevinevic

Membre confirmé
16 Janvier 2018
49
4
33
bonjour,
j'ai besoin de modifier la syntaxe d'un fichier Garmin comprenant des centaines de lignes.
En recherchant, j'ai bien compris qu'il fallait utiliser des "expressions régulières" mais ca commence à être trop pour mes competences.
Plus concrètement j'ai ce type de ligne
<trkpt lat="45.323284" lon="6.538426"><ele>1830.0</ele><time>2017-01-19 08:02:40</time></trkpt>
que je dois modifier en ce type:
<trkpt lat="45.323284" lon="6.538426"><ele>1830.0</ele><time>2017-01-19T08:02Z</time></trkpt>

Merci de votre lecture
 

xDave

Membre confirmé
16 Juin 2011
14
1
Dans BBedit un petit grep, en cochant la case Grep en bas de l fenêtre de rechercher/remplacer!, dans le champ "recherche" pour trouver "<time>2017-01-19 08:02</time>" tu peux faire :
Bloc de code:
<time>(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2})</time>
ou
Bloc de code:
<time>(\d*-\d*-\d*) (\d*:\d*)</time>

Dans le second exemple, la wildcard(*) dit un chiffre répété x fois, alors que dans le premier cas on précise le nombre de chiffres par bloc dans l'accolade {n}.

Où la première parenthèse représente le subpattern de ta date, et la seconde parenthèse le subpattern de l'heure.
Dans le champ "remplacer" tu inscrits
Bloc de code:
<time>\1T\2Z</time>

où le \1 et le \2 représente les sub patterns de la recherche qui seront répétés.

Bien sûr, essaye sur quelques lignes auparavant
 
Dernière édition:

kevinevic

Membre confirmé
16 Janvier 2018
49
4
33
parfait !!
merci beaucoup !!
 
  • J’aime
Réactions: xDave