Ersetzen von Zeichenfolgen in PowerShell

  1. Einführung in PowerShell-Strings
  2. Verwendung von die replace()-Funktion in PowerShell
  3. Zeichen mit der replace()-Funktion in PowerShell entfernen
  4. Ersetzen Sie mehrere Instanzzeichenfolgen mit der Funktion replace() in PowerShell
  5. Verwendung von den PowerShell-Ersetzungsoperator
  6. Entfernen Sie Zeichen mit dem Replace-Operator in PowerShell
  7. Ersetzen Sie mehrere Instanzzeichenfolgen mithilfe des Ersetzungsoperators in PowerShell
Ersetzen von Zeichenfolgen in PowerShell

PowerShell kann wie viele Sprachen mit Zeichenfolgen und Text arbeiten. Eine dieser wertvollen Funktionen ist die Verwendung von PowerShell zum Ersetzen von Zeichen, Zeichenfolgen oder Text in Dateien.

In diesem Artikel werden die PowerShell-Methode replace() und der PowerShell-Replace-Operator behandelt.

Einführung in PowerShell-Strings

Einer der einfachsten Fälle der Verwendung von PowerShell ist das Ersetzen von Zeichen in Zeichenfolgen. Angenommen, wir haben einen PowerShell-String mit dem Wert hello, world.

Beispielcode:

$string = 'hello, world'

Wir möchten die Zeichenfolge hello in dieser Variablen durch die Zeichenfolge hi ersetzen, um die Variable $string auf den endgültigen Wert hi, world zu ändern.

Dazu muss PowerShell zunächst herausfinden, wo der spezifische zu ersetzende Text zu finden ist, und sobald er gefunden wurde, ersetzt es den Text durch einen benutzerdefinierten benutzerdefinierten Variablenwert.

Verwendung von die replace()-Funktion in PowerShell

Eine der bequemen Möglichkeiten zum Ersetzen von Zeichenfolgen in Windows PowerShell ist die Verwendung der Funktion replace(), wie unten gezeigt. Die Funktion replace() hat zwei Argumente, den zu suchenden String und den String zum Ersetzen des gefundenen Textes.

Wie wir unten sehen können, findet Windows PowerShell die Zeichenfolge hello und ersetzt diese Zeichenfolge durch die Zeichenfolge hi. Die Methode gibt dann das Endergebnis hi, world zurück.

Beispielcode:

$string.replace('hello','hi')

Ausgabe:

hi, world

Wir können die Methode replace() für jeden String aufrufen, um jeden Literal-String durch einen anderen zu ersetzen. Die Methode replace() gibt nichts zurück, wenn der zu ersetzende String nicht gefunden wird.

Es ist erwähnenswert, dass wir einer Variablen keinen String zuweisen müssen, um Text in einem String zu ersetzen. Stattdessen können wir die replace()-Methode direkt auf dem String aufrufen wie: 'hello world'.replace('hello','hi').

Zeichen mit der replace()-Funktion in PowerShell entfernen

Vielleicht möchten wir Zeichen in einer Zeichenfolge aus einer anderen Zeichenfolge entfernen, anstatt sie durch etwas anderes zu ersetzen. Wir können das auch tun, indem wir eine leere Zeichenfolge angeben.

Beispielcode:

$string.replace('hello','')

Ausgabe:

, world

Ersetzen Sie mehrere Instanzzeichenfolgen mit der Funktion replace() in PowerShell

Da die Funktion replace() einen String zurückgibt, können Sie zum Ersetzen einer anderen Instanz einen weiteren Funktionsaufruf replace() an das Ende anhängen. Windows PowerShell ruft dann die Methode replace() für die ursprüngliche Ausgabe auf.

Beispielcode:

$string.replace('hello','').replace('world','globe')

Ausgabe:

, globe

Wir können so viele Funktionsaufrufe wie nötig replace() verketten, aber wir sollten in Betracht ziehen, den Ersetzungsoperator zu verwenden, wenn wir viele Strings ersetzen müssen.

Verwendung von den PowerShell-Ersetzungsoperator

Wir können auch den Windows PowerShell-Operator -replace verwenden, um einen Text zu ersetzen. Der Operator -replace hat eine ähnliche Methode.

Wir stellen eine Zeichenfolge zum Suchen und Ersetzen bereit. Unter Verwendung des obigen Beispiels können wir den Ersetzungsoperator verwenden, um hallo auf ähnliche Weise durch hi zu ersetzen, wie unten gezeigt.

Beispielcode:

$string -replace 'hello','hi'

Ausgabe:

hi, world

Entfernen Sie Zeichen mit dem Replace-Operator in PowerShell

Wie bei der Funktion replace() können Sie auch mit dem Replace-Operator Zeichen aus einem String entfernen. Aber im Gegensatz zur replace()-Methode können Sie den String auch ganz als Argument zum Ersetzen ausschließen, und Sie werden den gleichen Effekt feststellen.

Beispielcode:

$string -replace 'hello',''

Ausgabe:

, world

Ersetzen Sie mehrere Instanzzeichenfolgen mithilfe des Ersetzungsoperators in PowerShell

Wie bei der Methode replace() können Sie auch Verwendungen des Ersetzungsoperators verketten. Da der Ersetzungsoperator jedoch eine Zeichenfolge zurückgibt, wie unten gezeigt.

Beispielcode:

$string -replace 'hello','hi' -replace 'world','globe'

Ausgabe:

hi, globe
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - PowerShell String