2013-08-27 22:50:27 +0000 2013-08-27 22:50:27 +0000
18
18

Met behulp van wildcard zoeken/vervangen in Notepad++

Hier is mijn probleem: In een . txt bestand, moet ik duizenden gevallen van syntaxis zoals deze vinden en vervangen:

(zie (a053007djfgspwdf))

of

(zie (a053007djfgspwdf) en (a54134xsedgeg))

of

(zie (a053007djfgspwdf), (a9554xsdfgsdfg) en (a54134xsedgeg))

Er is veel variatie tussen het begin (zie (a en het einde )) tekststrings. Kan dit in Notepad++ worden ingesteld met behulp van regex? Zo ja, hoe zou ik dat doen? Bedankt!

Antwoorden (5)

18
18
18
2016-03-02 12:14:25 +0000

Sorry mensen, ik vind gewoon andere antwoorden ingewikkeld. (Geen gebrek aan respect voor de originele posters.)

Aangezien dit altijd als eerste zoekresultaat verschijnt, voeg ik dit toe in:

  1. 1. Open het zoek-/vervangingsdialoogvenster (CTRL+F en vervolgens de vervangings-tab)
  2. 2. Vink “Regular Expression” onderaan aan
  3. Gebruik .* als de wildcard

Bijvoorbeeld, ik wilde alle instanties van abp=“1314”, abp=“1313”, abp=“1312” enz. verwijderen (in principe zijn de getallen allemaal verschillend, daarom wil je een wildcard om ze kwijt te raken).

In het vervangingsvenster:

Zoek in wat: abp=".*" Vervangen door:

(Je vervangt alles binnen die aanhalingstekens door niets om er vanaf te komen)

Bron: https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/ ](https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/)

15
15
15
2013-08-27 23:09:56 +0000

Ja, dat kan het! Notepad++ heeft een RegEx-zoekmodus die u kunt selecteren voor al uw RegEx-vervangingsbehoeften.

Het onderstaande voorbeeld is een basisvervanging voor alles tussen (see (a...)) met uitzondering van een regeleinde. Het kan zijn dat u de RegEx moet aanpassen of dat u uw eigen RegEx moet schrijven. Hier is ](http://www.regular-expressions.info/tutorial.html) een geweldige plek om u te helpen bij het experimenteren.

RegEx: \(see \(a.+\)\)

Op elkaar afgestemde strings:

(see (a053007djfgspwdf))
(see (a053007djfgspwdf) and (a54134xsedgeg))
(see (a053007djfgspwdf), (a9554xsdfgsdfg) and (a54134xsedgeg))

1
1
1
2016-03-24 15:43:35 +0000

Aangezien sommige van deze oplossingen voor mij te diepgaand waren om te begrijpen, wil ik u laten zien wat ik heb gedaan na het lezen van al deze oplossingen en nog meer om eindelijk een beter begrip te krijgen. (dit is een eenvoudige aanpak, misschien niet de beste)

Ik wilde al mijn figuur elementen op de hele webpagina verwijderen. Cijfer 2.1,Figuur 1.1,ect.

Het was:

<p class="td1-content b8"><span class="stepNumber">2. </span>Select Memo from the toolbar<br><b>Figure 2.1</b></p>

Ik wilde dat het zou eindigen op:

<p class="td1-content b8"><span class="stepNumber">2. </span>Select Memo from the toolbar</p>

Maar elke

had een ander Figuurnummer, dus ik gebruikte dit in sublieme tekst 2.

  1. ctrl H
  2. klik op het “.*” symbool rechtsonder in Sublieme tekst 2, (regex)
  3. typ <br><b>Figure.*</b>
  4. vervang door: -Dit verving al mijn instanties door cijfers. Let op, ik gebruikte… waar de nummers van zouden zijn. Ik hoop dat dit helpt.
1
1
1
2013-08-28 16:51:42 +0000

Probeer dit patroon: \(see \(a(.*)\) en zorg ervoor dat u “. overeenkomt met newline” uitgevinkt en “wrap around” aangevinkt hebt.

0
0
0
2013-09-03 05:05:59 +0000

De exacte regex die u nodig heeft is:

\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)

Bijvoorbeeld:

Bij het selecteren van Zoek alles in het huidige document, zou het resultaat zijn:

U kunt eenvoudigweg Vervangen gebruiken in plaats daarvan.

Als u de a ook in de regex wilt opnemen, kunt u gebruiken:

\(see \(a\w+\)((, \(a\w+\))*( and \(a\w+\)))?\)