J'essaye de trouver toutes les valeurs avec le modèle suivant:
value="4"
value="403"
value="200"
value="201"
value="116"
value="15"
et remplacez-le par une valeur dans les portées.
J'utilise l'expression régulière suivante pour trouver le modèle:
.*"\d+"
Comment puis-je faire un remplacement?
Réponses:
Dans Notepad ++ pour remplacer, appuyez sur Ctrl+ Hpour ouvrir le menu Remplacer.
Ensuite, si vous cochez le bouton "Expression régulière" et que vous souhaitez que votre remplaçant utilise une partie de votre motif de correspondance, vous devez utiliser des "groupes de capture" (en savoir plus sur google ). Par exemple, disons que vous souhaitez faire correspondre chacune des lignes suivantes
en utilisant le
.*"\d+"
motif et que vous souhaitez conserver uniquement le numéro. Vous pouvez ensuite utiliser un groupe de capture dans votre modèle correspondant, en utilisant entre parenthèses(
et)
, comme ça:.*"(\d+)"
. Alors maintenant, dans votre remplacement, vous pouvez simplement écrire$1
, où 1 $ fait référence à la valeur du premier groupe de capture et renverra le numéro pour chaque correspondance réussie. Si vous aviez deux groupes de capture, par exemple(.*)="(\d+)"
,$1
renverra la chaînevalue
et$2
renverra le nombre.Donc en utilisant:
Trouver:
.*"(\d+)"
Remplacer:
$1
Cela vous rendra
Veuillez noter qu'il existe de nombreuses façons alternatives et meilleures de faire correspondre le modèle susmentionné. Par exemple, le motif
value="([0-9]+)"
serait meilleur, car il est plus spécifique et vous serez sûr qu'il ne correspondra qu'à ces lignes. Il est même possible de faire le remplacement sans utiliser de groupes de capture, mais c'est un sujet légèrement plus avancé, donc je vais le laisser pour l'instant :)la source
$1
n'a pas fonctionné pour moi. J'ai utilisé à la\1
place et cela a fonctionné.\1
Fonctionne dans toutes les versions de Notepad ++.$1
ne fonctionne que dans les plus récents.Hex Editor
plugin. En mode d'affichage hexadécimal, Notepad ++ n'affiche pas l'Regular Expression
option Rechercher / Remplacer. En mode d'affichage de texte, je vois l'Regular Expression
option Rechercher / Remplacer. J'utilise Notepad ++ Version 6.9.2, qui est la version actuelle pour le moment.psxls a donné une excellente réponse mais je pense que ma version Notepad ++ est légèrement différente, donc la capture $ (signe dollar) n'a pas fonctionné.
J'ai Notepad ++ v.5.9.3 et voici comment vous pouvez accomplir votre tâche:
Recherchez le modèle: value = \ "([0-9] *) \" Et remplacez-le par: \ 1 (tout ce que vous voulez faire autour de ce groupe de capture)
Ex. Entourer avec crochets
[\ 1] -> produira value = "[4]"
la source
\1
M'a aidé à garder le numéro mais à supprimer la citation derrière. J'avais environ 7400 lignes dans un document commetablename.columnname = '12345'
. Le premier devis était facile à supprimer, le second a été fait en utilisant votre\1
dans la zone de texte de remplacement. Merci, +1Remplacer
(.*")\d+(")
Avec
$1x$2
Où
x
est votre «valeur à l'intérieur des portées».la source
J'ai Notepad ++ v6.8.8
Rechercher : [([a-zA-Z])]
Remplacer : [\ '\ 1 \']
Produira: $ array [XYZ] => $ array ['XYZ']
la source
Trouver:
value="([\d]+|[\d])"
Remplacer:
\1
Cela vous rendra vraiment
4
403
200
201
116
15
js:
la source