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

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.
Extrahieren eines PowerShell-Teilstrings links von einem String
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.
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.
LinkedInVerwandter Artikel - PowerShell String
- Wie man die Position von Teilzeichenfolgen in PowerShell findet
- Wie man einen Text in einer Datei mit PowerShell ersetzt
- Überprüfen Sie, ob eine Zeichenfolge in PowerShell leer ist
- Wie man überprüft, ob eine Zeichenfolge NICHT NULL oder LEER in PowerShell ist
- Auswählen mehrerer Muster in einer Zeichenfolge mithilfe von PowerShell
- Ersetzen von Zeichenfolgen in PowerShell