Een string splitsen in twee variabelen in PowerShell

Close up van handen typen op laptop. Nachtwerk concept.

Als u een tekenreeks in Microsoft PowerShell hebt, is het vaak handig om de tekenreeks in meerdere variabelen te splitsen.

Afbeelding tegoed: dusanpetkovic/iStock/GettyImages

Als u een tekenreeks in Microsoft PowerShell hebt, is het vaak handig om de tekenreeks in meerdere variabelen te splitsen. U kunt bijvoorbeeld de voornaam en achternaam van een gebruiker hebben gescheiden door een spatie, of een telefoonnummer dat begint met een netnummer. U kunt hiervoor de ingebouwde PowerShell Split-functie gebruiken. Er zijn andere functies beschikbaar om PowerShell op andere manieren een tekenreeks te laten parseren.

Microsoft PowerShell begrijpen

PowerShell is een opdrachtregelprogramma en programmeertaal van Microsoft. Het is de vervanging van de oudere Windows- en DOS-batchscripttool, die ook nog steeds beschikbaar is in de meeste versies van Windows.

Video van de dag

Het wordt vaak gebruikt om de uitvoer van meerdere programma's te combineren of om gegevens van het ene programma naar het andere door te geven, dus het is handig om het te gebruiken voor het manipuleren van strings.

De PowerShell Split-functie

Als u een tekenreeks in PowerShell hebt en deze op een bepaald teken wilt splitsen, kunt u dit doen met behulp van de ingebouwde Splitsen functie. Schrijf s -Split, waarbij s de variabele is die de string bevat, of roep s.split aan. De functie retourneert een array met elk van de elementen van de gesplitste tekenreeks, die u kunt vastleggen in een variabele zoals

$a = s.split()

U kunt deze aan variabelen toewijzen door de afzonderlijke elementen te openen als $a[0], $a[1] enzovoort, of ze in de array te houden als dat handiger is.

Het splitsen van strings is vaak handig wanneer u gebruikersinvoer of de uitvoer van een ander programma in zijn samenstellende delen moet splitsen.

PowerShell Split-opties

Standaard splitst PowerShell de tekenreeks op witruimtetekens, inclusief spaties, regeleinden en tabs. In sommige gevallen wilt u de tekenreeks misschien opsplitsen in een ander teken, zoals een komma of koppelteken, of een tekenreeks zoals ' en'.

Om dit te doen, maakt u het gewenste teken of de gewenste tekenreeks om te splitsen rond het tweede argument van de split-functie, door bijvoorbeeld s.split(",") of s -split "," te schrijven om op een komma te splitsen. Welk karakter je ook kiest om aan PowerShell te geven als scheidingsteken, of scheidingsteken, wordt weggelaten uit alle resultaatreeksen.

U kunt ook kiezen voor een maximum aantal strings om in te splitsen door dit als extra argument aan te voeren. Bijvoorbeeld, "a, b, c, d".split(",",2) geeft een array met de elementen "a" en "b, c, d" terwijl "a, b, c, d". split(",") geeft een array met elke letter in zijn eigen string.

Een tekenreeks bijsnijden in PowerShell

U kunt PowerShell een tekenreeks laten inkorten of overtollige tekens aan het begin of einde laten verwijderen met behulp van de trimmen functie. Standaard verwijdert het witruimte aan het begin en einde van de tekenreeks.

Bijvoorbeeld, " a ".trim() geeft het resultaat "a." U kunt andere tekens die u uit de tekenreeks wilt verwijderen, als argument opgeven, zodat "^$a ".trim(" ^") het resultaat "$a" zal geven.

U kunt de functies TrimStart en TrimEnd gebruiken om alleen tekens aan het begin of einde van de tekenreeks te verwijderen.

Dit is vaak handig wanneer u gegevens hebt verkregen van een gebruiker die deze in een invoervak ​​heeft getypt met extra spaties of nieuwe regels aan het einde.

De PowerShell Join-functie

Net als in andere programmeertalen, PowerShell's meedoen functie is in wezen het tegenovergestelde van splitsen. Er zijn meerdere strings voor nodig en ze worden gecombineerd met een bepaald scheidingsteken of helemaal geen spatie.

Bijvoorbeeld, -join ("a", "b", "c") geeft het resultaat "abc", terwijl "a", "b", "c" -join " " de resultaatreeks "ab c" geeft ." Dit kan zijn handig wanneer u meerdere variabelen hebt die u in één moet combineren om in een bestand op te slaan, door te geven aan een andere opdracht of uit te voeren aan een gebruiker.