Hier sind einige Fakten, die Sie im Hinterkopf behalten sollten: Wir verfügen selten über perfekte Daten und Datendateien enthalten viele Zeichenfolgen. Wenn Sie ein Skript schreiben, stellen Sie fest, dass Sie in den meisten Fällen die Daten formatieren und irrelevante Zeichen in unseren Zeichenfolgenblöcken entfernen müssen. Das könnte eine Menge Arbeit sein, aber zum Glück haben wir die PowerShell Trim()-Methode.
Diese PowerShell Trim()-Funktion bietet viel Flexibilität bei der Verarbeitung von Zeichenfolgen und vereinfacht den Prozess insgesamt. Benutzer können Varianten von PowerShell Trim() verwenden, einschließlich der PowerShell Trimend()-Methode.
In diesem Artikel möchte ich mit Ihnen untersuchen, wie diese Funktion funktioniert, und einige alltägliche Anwendungen der Funktion zeigen.
Anforderungen für die PowerShell Trim()-Methode
Bevor Sie mit diesem Tutorial beginnen, sollten Sie sich darüber im Klaren sein, dass die von mir ausgeführten Skripte auf Powershell 7 ausgeführt wurden. Sie sollten auf früheren Versionen von PowerShell Core sowie früheren Versionen von Windows Powershell funktionieren, ich empfehle jedoch ein Upgrade auf Windows Powershell 7.
So verwenden Sie die Powershell-Wrap-Methode
Die Funktion trim() ist eine der beliebtesten Methoden zum Trimmen von Zeichenfolgen in PowerShell. Die Funktion trim() ist wie alle anderen Trimmfunktionen in PowerShell ein Mitglied der .NET-Klasse System.String A. Mit dieser Funktion können alle Leerzeichen am Anfang und Ende von Zeichenfolgen sowie bestimmte Zeichen entfernt werden.
So entfernen Sie Leerräume
Administratoren können die Parameterlose trim()-Funktion verwenden, um Leerzeichen aus Zeichenfolgen zu entfernen, wie unten gezeigt.
Wenn die Trim()-Funktion in PowerShell ohne Argumente aufgerufen wird, wird die Char.IsWhiteSpace-Methode verwendet, um alle führenden und nachgestellten Leerzeichen im Skript zu entfernen.
(" Test ").Trim()
(" Test`r`n").Trim()
(" Test Test $([Char]0x0085)").Trim()
Gut zu wissen:
So verwenden Sie Powershell Trim für einen einzelnen Charakter
Mit der Trimmtechnik können einzelne Zeichen aus einer Zeichenfolge entfernt werden. In allen Fällen entfernt diese Funktion dieses Zeichen vom Anfang und Ende einer Zeichenfolge, bis sie auf ein anderes als das angegebene Zeichen trifft.
Ich habe unten ein Beispielskript geschrieben, um die Buchstaben T und t auszuschneiden.
(" Tests Afam Test").Trim("T")
("Test Afam Test").Trim("T")
("Test Afam String").Trim("t")
("test Afam test").Trim("t")

So verwenden Sie Powershell Trim für ein Zeichenarray
Beseitigen Sie ein langes Zeichenarray
In manchen Fällen möchten Sie möglicherweise mehrere Zeichen aus einer Zeichenfolge entfernen. Sie können der PowerShell-Funktion trim() ein Array von Zeichen übergeben.
Wenn Sie dieser Funktion ein Zeichenarray übergeben, werden alle diese Zeichen vom Anfang und Ende eines Zeichenfolgenobjekts entfernt, bis eines gefunden wird, das nicht im Array enthalten ist.
Die Funktion trim() verwendet ein Array als Eingabe, bei dem es sich in manchen Fällen um eine einfache Zeichenfolge wie add2123 oder ein tatsächliches Array wie @ handelt. („A“, „D“, „D“, „2“, „1“, „2“, „3“).
Sie sollten sich darüber im Klaren sein, dass die Verwendung der Funktion trim() für ein Array zu überraschenden Ergebnissen führen kann.
("ABC1123TestABC123TestABC1123").Trim("ABC1123")
("ABC1123TestABC123TestABC1123").Trim(@("A","B","C","1","1","2","3"))
("Test123TestABC123TestABCTest").Trim("")
Selbst in Fällen, in denen die Zeichen, wie unten dargestellt, in die falsche Reihenfolge gebracht werden, werden sie dennoch entfernt, da sie mit einem der Zeichen im bereitgestellten Array übereinstimmen. Diese Technik funktioniert nicht, wenn Sie präzisen Text sowohl am Anfang als auch am Ende der Zeichenfolge entfernen möchten.

So verwenden Sie die Methoden TrimEnd() und TrimStart()
Wenn Sie keine Zeichen am Anfang und Ende einer Zeichenfolge abschneiden möchten, können Sie die PowerShell-Funktion TrimEnd() oder TrimStart() verwenden, um selektiver vorzugehen. Das Verhalten dieser Methoden ist identisch mit dem der PowerShell Trim()-Technik.
Beachten Sie, dass es sich bei diesen beiden Funktionen um Techniken handelt, bei denen die Groß-/Kleinschreibung beachtet wird.
Mit TrimStart() und TrimEnd() können Benutzer den Teil eines String-Objekts angeben, den sie bearbeiten möchten. Diese Techniken eignen sich möglicherweise besser für Ihre Datenanforderungen, hängen jedoch von den individuellen Umständen ab.
Nachfolgend finden Sie einige Beispielskripte, die ich bereitgestellt habe:
(" Test`n`r").TrimStart()
("bbTestbb").TrimStart("b")
("abcc1123Testabc123").TrimStart("abcc1123")
(" Test`n`r").TrimEnd()
("bbTestbb").TrimEnd("b")
("abcc1123Testabc123").TrimEnd("abcc1123")
Weitere Clipping-Methoden in Powershell
Zusätzliche Clipping-Methoden in PowerShell
Das Trimmen von Zeichenfolgen unterscheidet sich nicht von allem anderen in PowerShell. Es gibt zahlreiche Methoden, um fast alles zu erreichen. Um eine bestimmte Zeichenfolge zu entfernen, können Sie anstelle der trim()-Methoden von PowerShell die Methoden IndexOf() und SubString() eines Zeichenfolgenobjekts verwenden.
Betrachten Sie den folgenden Vergleich zwischen TrimEnd() und den Methoden IndexOf() und SubString().
("StringTeTest").TrimEnd("Test")
("StringTeTest").Substring(0,"StringTeTest".IndexOf("Test"))
Die SubString-Funktion ist etwas schwieriger zu verwenden. Benutzer können den verbleibenden Inhalt der Zeichenfolge behalten und die angegebene Zeichenfolge nur entfernen, indem sie den Index der Testzeichenfolge im Zeichenfolgenobjekt nachschlagen und einfach die Zeichen vom Anfang der Zeichenfolge bis zu diesem Punkt zurückgeben.
Abschließende Gedanken zum PowerShell-Tuning
Trim(), TrimEnd() und TrimStart() sind String-Funktionen in PowerShell, die zum Sortieren von Daten nach Bedarf verwendet werden können. Wenn einer dieser drei Punkte nicht ausreicht, bietet PowerShell eine Reihe von Alternativen, die mit unterschiedlichem Grad an Kontrolle angewendet werden können. Wenden Sie diese Methoden an, um jetzt zu lernen, wie man Strings in PowerShell schneidet!
