it-swarm.com.de

Suchen und Ersetzen in Visual Studio

Bei der Suche in einer Auswahl in Visual Studio möchte ich die erste Instanz (oder die zweite, dritte usw.) einer Übereinstimmung pro Zeile mithilfe regulärer Ausdrücke ersetzen. Wie würde ich das machen?

Suchen und ersetzen

foo1 = foo1;
foo2 = foo2;
...
foo20 = foo20;

in die folgenden.

foo1 = bar1;
foo2 = bar2;
...
foo20 = bar20;
27
Joseph Le Brech

Verwenden Sie in Visual Studio 2010 und früheren reguläre Ausdrücke mit Rückverweisen

Die regulären Ausdrücke von Visual Studio unterscheiden sich völlig von dem, was ich gelernt habe. Ich brauchte einige Zeit, um die richtige Antwort herauszufinden.

Suchen nach

{foo}{:d+} = \1\2

Ersetzen mit

\1\2 = bar\2

Rückverweise werden von tagging mit geschweiften Klammern {foo} ausgeführt. :d+ ist für \d+ gleich

Lesen Sie mehr über VS RegEx hier

33
Ranhiru Cooray

In Visual Studio 2012 werden Aufnahmegruppen und Rückreferenzen wie in C # verwendet. Sie können sie mit üblichen Klammern erfassen und mit $ 0, $ 1 usw. rückverweisen. Hoffe, es hilft!

Beachten Sie, dass die Syntax $1 für find-replace verwendet wird, \1 jedoch für Rückverweise in der Suchzeichenfolge.

71
So Many Goblins

Ich kann auch ohne reguläre Ausdrücke gemacht werden:

Ersetzen Sie = foo durch = bar.

Wenn ein regulärer Ausdruck benötigt wird, könnte man Folgendes verwenden:

foo(\d*) = foo(\d*);

Ersetzen mit:

foo\1 = bar\2;
2
Jayendra

Hier ist es, geben Sie genau so ein, wie es hier angezeigt wird

Suche: (\w+\d+\s*=\s*)[^\d]+(\d+);

Ersetzen: $1bar$2;


Weitere Informationen: Verwenden von regulären Ausdrücken in Visual Studio

1
BJovke

So einfach ist das in Visual Studio 2019 Suchen/Ersetzen. Ich musste FORTRAN IO format string in C++ format ersetzen und Unterausdruck und Zahlen von regulären Ausdrücken verwenden.

Beispiel: Suchen Sie: "f9.8", "f18.3" und ersetzen Sie diese durch% 9.8f,% 18.3f
reg exp: Find = (f) (\ d +.\d +) Replace =% $ 2f

1
userom