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

Verwenden von Platzhalter Suchen/Ersetzen in Notepad++

Hier ist mein Problem: In einer . txt-Datei muss ich Tausende von Instanzen einer Syntax wie dieser finden und ersetzen:

(siehe (a053007djfgspwdf))

oder

(siehe (a053007djfgspwdf) und (a54134xsedgeg))

oder

(siehe (a053007djfgspwdf), (a9554xsdfgsdfg) und (a54134xsedgeg))

Zwischen den beginnenden (siehe (a und das Ende )) Textstrings gibt es eine große Vielfalt. Kann dies in Notepad++ mit regex eingerichtet werden? Wenn ja, wie würde ich das tun? Danke!

Antworten (5)

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

Tut mir leid, Leute, ich finde andere Antworten einfach kompliziert. (Keine Respektlosigkeit gegenüber den Originalplakaten beabsichtigt.)

Da dies immer als erstes Suchergebnis auftaucht, füge ich dies hinzu in:

  1. Öffnen Sie den Dialog Suchen/Ersetzen (STRG+F und dann die Registerkarte Ersetzen)
  2. Kreuzen Sie unten “Regulärer Ausdruck” an
  3. Verwenden Sie .* als Platzhalter

Zum Beispiel wollte ich alle Instanzen von abp=“1314”, abp=“1313”, abp=“1312” usw. entfernen (im Grunde genommen sind die Zahlen alle unterschiedlich, weshalb Sie einen Platzhalter benötigen, um sie loszuwerden).

Im Ersetzen-Dialog:

Suchen in was: abp=".*" Ersetzen durch:

(Sie ersetzen alles innerhalb dieser Anführungszeichen durch nichts, um es loszuwerden)

Quelle: https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/

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

Doch, das kann es! Notepad++ hat einen RegEx-Suchmodus, den Sie für alle Ihre RegEx-Ersatzanforderungen auswählen können.

Das folgende Beispiel ist ein grundlegender Ersatz für alles zwischen (see (a...)) mit Ausnahme eines Zeilenumbruchs. Möglicherweise müssen Sie die RegEx modifizieren oder Ihre eigenen schreiben, um sie Ihren Bedürfnissen anzupassen. Hier ist ein großartiger Ort, um Ihnen beim Experimentieren zu helfen.

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

Abgestimmte Zeichenfolgen:

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

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

Da einige davon zu tiefgründig waren, als dass ich sie verstehen könnte, möchte ich Ihnen zeigen, was ich getan habe, nachdem ich all diese Lösungen und mehr gelesen hatte, um endlich ein besseres Verständnis zu bekommen. (dies ist ein einfacher Ansatz, vielleicht nicht der beste)

Ich wollte alle meine Ziffern-Elemente auf der ganzen Webseite entfernen. Abbildung 2.1,Abbildung 1.1,ect._

Es war:

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

Ich wollte, dass es am Ende so aussah:

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

Aber jede

hatte eine andere Abbildungsnummer, also verwendete ich diese in dem erhabenen Text 2.

  1. ctrl H
  2. klicken Sie auf das Symbol “.*” unten rechts im Erhabenen Text 2, (regex)
  3. tippen Sie <br><b>Figure.*</b>
  4. ersetzen Sie mit: -leer

Dies ersetzte alle meine Instanzen durch Zahlen darin. beachten Sie, dass ich .* an den Stellen verwendet habe, an denen die Zahlen sein würden. Hoffentlich hilft das.

1
1
1
2013-08-28 16:51:42 +0000

Versuchen Sie dieses Muster: \(see \(a(.*)\) und stellen Sie sicher, dass Sie “. matches newline” nicht angekreuzt und “wrap around” angekreuzt haben.

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

Das genaue regex, das Sie benötigen würden, ist:

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

Zum Beispiel:

Wenn Sie Alles im aktuellen Dokument finden auswählen, wäre das Ergebnis:

Sie können stattdessen einfach Ersetzen je nach Ihrer Notwendigkeit verwenden.

Wenn Sie auch die a in das Regex aufnehmen möchten, können Sie verwenden:

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