Hvis du har en tekststreng i Microsoft PowerShell, er det ofte nyttig å dele opp strengen i flere variabler.
Bildekreditt: dusanpetkovic/iStock/GettyImages
Hvis du har en tekststreng i Microsoft PowerShell, er det ofte nyttig å dele opp strengen i flere variabler. For eksempel kan du ha en brukers fornavn og etternavn atskilt med et mellomrom, eller et telefonnummer som begynner med et retningsnummer. Du kan bruke den innebygde PowerShell Split-funksjonen for å gjøre dette. Andre funksjoner er tilgjengelige for å få PowerShell til å analysere en streng på andre måter.
Forstå Microsoft PowerShell
PowerShell er et kommandolinjeverktøy og programmeringsspråk levert av Microsoft. Det er erstatningen til det eldre Windows- og DOS-batchskriptverktøyet, som også fortsatt er tilgjengelig på de fleste versjoner av Windows.
Dagens video
Det brukes ofte til å kombinere utdata fra flere programmer eller overføre data fra ett program til et annet, så det er nyttig å bruke det til å manipulere strenger.
PowerShell Split-funksjonen
Hvis du har en streng i PowerShell og vil dele den på et tegn, kan du gjøre det ved å bruke den innebygde Dele funksjon. Skriv enten s -Split, der s er variabelen som inneholder strengen, eller ring s.split. Funksjonen vil returnere en matrise som inneholder hvert av elementene i den delte strengen, som du kan fange opp i en variabel som
$a = s.split()
Du kan tilordne disse til variabler ved å få tilgang til de individuelle elementene som $a[0], $a[1] og så videre eller beholde dem i matrisen hvis det er mer nyttig.
Splitting av strenger er ofte nyttig når du trenger å dele brukerinndata eller utdata fra et annet program i komponentene.
Split-alternativer for PowerShell
Som standard vil PowerShell dele strengen på mellomromstegn, inkludert mellomrom, linjeskift og tabulatorer. I noen tilfeller vil du kanskje dele strengen på et annet tegn, for eksempel et komma eller bindestrek, eller en streng som "og."
For å gjøre dette, lag ønsket tegn eller streng til å dele rundt det andre argumentet til split-funksjonen, ved å skrive s.split(",") eller s -split "," for å dele på et komma, for eksempel. Uansett hvilken karakter du velger å gi til PowerShell som skilletegn, eller separator, vil bli utelatt fra alle resultatstrengene.
Du kan også velge en maksimalt antall strenger å dele opp i ved å gi dette som et tilleggsargument. For eksempel vil "a, b, c, d".split(",",2) gi en matrise med elementene "a" og "b, c, d" mens "a, b, c, d". split(",") vil gi en matrise med hver bokstav i sin egen streng.
Trimming av en streng i PowerShell
Du kan få PowerShell til å trimme en streng, eller fjerne overflødige tegn fra starten eller slutten, ved å bruke listverk funksjon. Som standard vil det fjerne mellomrom fra begynnelsen og slutten av strengen.
For eksempel vil " a ".trim() gi resultatet "a." Du kan spesifisere andre tegn du vil fjerne fra strengen som et argument, så "^$a ".trim(" ^") vil gi resultatet "$a."
Du kan bruke funksjonene TrimStart og TrimEnd for å bare fjerne tegn fra begynnelsen eller slutten av strengen.
Dette er ofte nyttig når du har data hentet fra en bruker som har skrevet det inn i en inndataboks med ekstra mellomrom eller linjeskift på slutten.
PowerShell Join-funksjonen
Som i andre programmeringsspråk, PowerShell's bli med funksjon er i hovedsak det motsatte av dele. Den tar flere strenger og kombinerer dem med en gitt skilletegn eller uten mellomrom i det hele tatt.
For eksempel vil -join ("a","b","c") gi resultatet "abc," mens "a","b","c" -join " " vil gi resultatstrengen "ab c ." Dette kan være nyttig når du har flere variabler som du må kombinere til én for å lagre i en fil, sende til en annen kommando eller sende ut til en bruker.