Wie man einen PowerShell-Substring aus einem String extrahiert

  1. Extrahieren eines PowerShell-Teilstrings mit der Methode Substring()
  2. Extrahieren eines PowerShell-Teilstrings links von einem String
  3. Extrahieren eines PowerShell-Teilstrings vor und nach einem angegebenen Zeichen
  4. Extrahieren eines PowerShell-Teilstrings zwischen zwei Zeichen
Wie man einen PowerShell-Substring aus einem String extrahiert

Dieser Artikel veranschaulicht, wie wir einen Teilstring aus einem String in PowerShell extrahieren können. Ein Teilstring ist einfach ein Teil eines Strings.

Wir können einen Teilstring in PowerShell mit den Methoden Substring() und split() erstellen. Zum Beispiel, wenn wir den String Delftstack.com haben, ist Delftstack ein Teilstring und com ein anderer.

In diesem Artikel wird die Methode Substring() behandelt.

Extrahieren eines PowerShell-Teilstrings mit der Methode Substring()

Lassen Sie uns zunächst die Syntax der Methode Substring() betrachten.

string.Substring(int startIndex, int length)

Die int in der Syntax markiert die startIndex und length als Indexnummern. Der startIndex gibt das erste Zeichen des Teilstrings an, den wir extrahieren möchten, während length die Anzahl der Zeichen ist, die wir aus einem String extrahieren möchten.

Wir verwenden die Methode IndexOf, um den startIndex und die length eines Teilstrings zu bestimmen.

Wir bestimmen den startIndex, indem wir 1 zum resultierenden Wert von IndexOf des Teilstrings hinzufügen. Lassen Sie uns ein Beispiel betrachten.

Angenommen, ned.delftstack.com ist unser String, was ist die Indexposition des ersten Buchstabens n in unserem String? Wir können die Position ermitteln, indem wir den folgenden Befehl ausführen:

"ned.delftstack.com".IndexOf('n')

Das Ergebnis ist 0. Dies liegt daran, dass die Methode IndexOf nach dem ersten Auftreten eines Strings von links nach rechts sucht und immer bei 0 beginnt.

Wenn wir also einen Teilstring ab dem Buchstaben n extrahieren möchten, wird unser startIndex 0 sein.

Wir können auch LastIndexOf verwenden, um den Standort des letzten Vorkommens eines Strings zu finden. Zum Beispiel wäre das letzte Vorkommen des Buchstabens d:

"ned.delftstack.com".LastIndexOf('d')

Diese grundlegenden Informationen ermöglichen es Ihnen, Strings in PowerShell zu manipulieren.

Lassen Sie uns die obigen Informationen in die Praxis umsetzen.

Angenommen, wir möchten den Teilstring ned aus ned.delftstack.com extrahieren. Wie würden wir vorgehen?

Wir beginnen damit, unseren String in einer Variablen namens ourstrng zu speichern.

$ourstrng = "ned.delftstack.com"

Aus der Syntax der Methode Substring() wird unser Befehl lauten:

$ourstrng.Substring(0, 3)

Dies wird ned zurückgeben, da unser startIndex 0 ist und length 3 Zeichen beträgt. Was passiert, wenn unser Ziel darin besteht, delftstack aus unserem String zu extrahieren?

Der erste Schritt besteht darin, den startIndex für unseren Teilstring zu bestimmen. In diesem Fall verwenden wir den ersten Punkt, der der Separator ist.

$ourstrng.IndexOf(".")

Das Ergebnis wird 3 sein. Aber wie Sie sich erinnern können, fügen wir 1 zum Ergebnis für das erste Zeichen des Strings hinzu; daher wird unser startIndex 4 sein.

Die Länge wird die Anzahl der Zeichen sein, die wir möchten, dass der Teilstring hat; wir zählen ab 1. Der Teilstring delftstack hat 10 Zeichen.

$ourstrng.Substring(4, 10)

Dies wird delftstack zurückgeben.

Extrahieren eines PowerShell-Teilstrings vor und nach einem angegebenen Zeichen

Angenommen, wir möchten sowohl ned als auch delftstack.com aus unserem String extrahieren. Wie würden wir vorgehen?

Zuerst müssen wir die Position unseres Trennzeichens, dem ersten . bestimmen. Der folgende Befehl speichert den Separator in einer Variablen namens $sepchar.

$sepchar = $ourstrng.IndexOf(".")

Um unsere Teilstrings zu extrahieren, führen wir den folgenden Befehl aus:

$ourstrng.Substring(0, $sepchar)

Dies wird den ersten Teil extrahieren, welcher ned ist. Für den anderen Teilstring führen wir aus:

$ourstrng.Substring($sepchar + 1)

Dies wird deftstack.com zurückgeben.

Extrahieren eines PowerShell-Teilstrings zwischen zwei Zeichen

Wenn unser String ned.delftstack.com ist, wird unser Teilstring delftstack sein, da er zwischen unserem ersten und zweiten Punkt liegt. Ein solches Skript erfordert drei Befehle.

Der erste Befehl wird die Position unseres ersten Punktes (.) bestimmen und in der Variablen firstsep speichern.

$firstsep = $ourstrng.IndexOf(".")

Der zweite Befehl wird die zweite Position unseres Punktes mit der Methode LastIndexOf bestimmen und in der Variablen lastrep speichern.

$lastrep = $ourstrng.LastIndexOf(".")

Der letzte Befehl wird den Teilstring delftstack aus unserem String extrahieren.

$ourstrng.Substring($firstsep + 1, $lastrep - 4)

Zusammenfassend können Sie einen Teilstring in einem String vor, nach und zwischen PowerShell-Trennzeichen extrahieren. Die Methode Substring() ist nützlich, wie wir oben gesehen haben.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Verwandter Artikel - PowerShell String