Extrahieren Sie eine PowerShell-Teilzeichenfolge aus einer Zeichenfolge
-
Extrahieren Sie einen PowerShell-Substring mit der Methode
Substring()
- Extrahieren Sie eine PowerShell-Teilzeichenfolge links von einer Zeichenfolge
- Extrahieren Sie eine PowerShell-Teilzeichenfolge vor und nach einem bestimmten Zeichen
- Extrahieren Sie eine PowerShell-Teilzeichenfolge zwischen zwei Zeichen
Dieser Artikel veranschaulicht, wie wir eine Teilzeichenfolge aus einer Zeichenfolge 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. Wenn wir zum Beispiel den String Delftstack.com
haben, ist Delftstack
ein Teilstring und com
ein anderer.
Dieser Artikel behandelt die Methode Substring()
.
Extrahieren Sie einen PowerShell-Substring mit der Methode Substring()
Schauen wir uns zunächst die Syntax der Methode Substring()
an.
string.Substring(int startIndex, int length)
Das int
in der Syntax kennzeichnet startIndex
und length
als Indexzahlen. 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.
Den startIndex
ermitteln wir, indem wir zum resultierenden Wert des Teilstrings IndexOf
eine 1
addieren. Schauen wir uns ein Beispiel an.
Angenommen, ned.delftstack.com
ist unser String, was ist die Indexposition des ersten Buchstabens n
in unserem String? Wir können die Position bestimmen, indem wir den folgenden Befehl ausführen:
"ned.delftstack.com".IndexOf('n')
Das Ergebnis ist 0
. Denn die Methode IndexOf
sucht von links nach rechts nach dem ersten Vorkommen eines Strings und beginnt immer bei 0.
Wenn wir also einen Teilstring beginnend mit dem Buchstaben n
extrahieren möchten, ist unser startIndex
0.
Wir können auch LastIndexOf
verwenden, um den Ort des letzten Vorkommens eines Strings zu finden. Zum Beispiel wäre das letzte Vorkommen des Buchstabens d
:
"ned.delftstack.com".LastIndexOf('d')
Mit diesen grundlegenden Informationen können Sie Zeichenfolgen in PowerShell bearbeiten.
Extrahieren Sie eine PowerShell-Teilzeichenfolge links von einer Zeichenfolge
Lassen Sie uns die obigen Informationen anwenden.
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 Substring()
-Methode lautet unser Befehl:
$ourstrng.Substring(0,3)
Dies gibt ned
zurück, da unser startIndex
0
und length
3 Zeichen ist. Was ist, wenn unser Ziel darin besteht, delftstack
aus unserem String zu extrahieren?
Der erste Schritt besteht darin, den startIndex
für unseren Teilstring zu ermitteln. In diesem Fall verwenden wir den ersten Punkt, der das Trennzeichen ist.
$ourstrng.IndexOf(".")
Das Ergebnis ist 3
. Aber wenn Sie sich erinnern können, fügen wir dem Ergebnis für das erste Zeichen der Zeichenfolge eine 1
hinzu; daher wird unser startIndex
4
sein.
Die Länge ist die Anzahl der Zeichen, die der Teilstring haben soll; wir zählen ab 1. Der Teilstring delftstack
hat 10
Zeichen.
$ourstrng.Substring(4,10)
Dies gibt delftstack
zurück.
Extrahieren Sie eine PowerShell-Teilzeichenfolge vor und nach einem bestimmten 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 bestimmen, das erste .
. Der folgende Befehl speichert das Trennzeichen in einer Variablen namens $sepchar
.
$sepchar = $ourstrng.IndexOf(".")
Um unsere Teilzeichenfolgen zu extrahieren, führen wir den folgenden Befehl aus:
$ourstrng.Substring(0,$sepchar)
Dadurch wird der erste Teil extrahiert, der ned
ist. Für die andere Teilzeichenfolge führen wir Folgendes aus:
$ourstrng.Substring($sepchar+1)
Dies gibt deftstack.com
zurück.
Extrahieren Sie eine PowerShell-Teilzeichenfolge zwischen zwei Zeichen
Wenn unser String ned.delftstack.com
ist, ist unser Teilstring delftstack
, da er zwischen unserer ersten und zweiten Periode liegt. Ein solches Skript erfordert drei Befehle.
Der erste Befehl ermittelt die Position unseres ersten Punktes (.)
und speichert sie in der Variablen firstsep
.
$firstsep = $ourstrng.IndexOf(".")
Der zweite Befehl bestimmt die zweite Stelle unseres Punktes mit der Methode LastIndexOf
und speichert sie in der Variablen lastrep
.
$lastrep = $ourstrng.LastIndexOf(".")
Der letzte Befehl extrahiert den Teilstring delftstack
aus unserem String.
$ourstrng.Substring($firstsep+1,$lastrep-4)
Zusammenfassend lässt sich sagen, dass Sie eine Teilzeichenfolge in einer Zeichenfolge vor, nach und zwischen PowerShell-Trennzeichen extrahieren können. Die Methode Substring()
ist praktisch, 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
- Überprüfen Sie, ob ein String in PowerShell nicht NULL oder LEER ist
- Überprüfen Sie, ob eine Zeichenfolge in PowerShell leer ist
- Auswählen mehrerer Muster in einer Zeichenfolge mithilfe von PowerShell
- Entfernen Sie Leerzeichen aus einer Variablen mit PowerShell
- Ersetzen von Zeichenfolgen in PowerShell
- Extrahieren einer Teilzeichenfolge in PowerShell