Hvordan dele strenger i PowerShell

Hvordan dele strenger i PowerShell
I programmering er en streng en sekvens av tegn behandlet som et enkelt stykke data. En streng vil lagre tekstinformasjon. Det er en del av grunnleggende programmeringsprinsipper.

PowerShell er et skall og et skriptspråk. Det er som et programmeringsspråk i seg selv. PowerShell -skriptingen støtter alle de viktigste prinsippene for programmering, inkludert strenger. Den primære forskjellen er at skallskript generelt er designet for å automatisere oppgaver uten å bygge en dedikert app.

I denne guiden vil vi jobbe med strenger i PowerShell. Det vil også demonstrere hvordan du kan dele en streng og bruke teknikkene i forskjellige situasjoner.

Strenger i PowerShell

La oss først ta en rask titt på en prøvepowershell -streng. Fra PowerShell Shell, kjør følgende kommando.

$ $ Helloworld = "Den raske brune reven hopper over den late hunden"

Det skaper en midlertidig variabel “Helloworld” som lagrer strengen “The Quick Brown Fox hopper over den late hunden”. Å ringe variabelen vil returnere verdien.

$ $ Helloworld

Arrays i PowerShell

I programmering er en matrise en sekvensiell samling av samme type elementer. Det kan være av hvilken som helst datatype. Å jobbe med en matrise er betydelig enkel. Du kan krysse en matrise som bruker for loop eller mens du er loop. Størrelsen på en matrise er kjent, noe som gjør oppgaven betydelig enklere.

Denne delen vil fungere som en foreløpig introduksjon til matriser. Hvis du har bakgrunn i programmering på noe annet språk, bør dette være lettere å forstå. I det følgende eksemplet skal vi lage en rekke strenger.

$ $ HelloArray = "", "Quick", "Brown", "Fox"

Å ringe variabelen “HelloArray” vil skrive ut alle elementene i matrisen.

$ $ HelloArray

Du kan kalle et individuelt element i matrisen etter sin posisjon i sekvensen.

$ $ HelloArray [0]

Merk at posisjonstellingen starter 0. Så,

  • Element 1 -> Posisjonsverdi 0.
  • Element 2 -> Posisjonsverdi 1.
  • Element 3 -> Posisjonsverdi 2.

Og så videre.

Splitting streng

Dele en streng i en karaktergruppe

Enhver strengvariabel vil ha en standardfunksjon .Tochararray () som konverterer strengen til en rekke Unicode -tegn. Det er en del av .Net Framework -funksjonen. PowerShell tillater å bruke forskjellige .Nettfunksjoner i skriptene.

La oss konvertere HelloWorld til en karaktermatrise.

$ $ HelloWorld = "The Quick Brown Fox"
$ $ HelloworldArray = $ helloworld.Tochararray ()

La oss se resultatet.

$ $ Helloworldarray

Vi kan sjekke de enkelte elementene i matrisen.

$ $ Helloworldarray [0]
$ $ Helloworldarray [4]

Splitting streng basert på avgrenser

Enhver strengvariabel har en håndfull innebygde funksjoner. Ved hjelp av funksjonen .Split (), vi kan dele en streng basert på en viss avgrensende karakter. Den deler en streng i en rekke delstrenger. Som standard bruker den Whitespace -karakteren som avgrenseren. Du kan imidlertid også gi en tilpasset avgrensende karakter.

La oss sjekke det ut i aksjon. Først må du erklære strengvariabelen vår.

$ $ Helloworld = "Den raske brune reven hopper over den late hunden"

Nå, ring .Dele() funksjon og lagre resulterende i en annen variabel.

$ $ HelloWorldSplit = $ helloworld.Dele()

Sjekk resultatet av splittelsen.

$ $ HelloWorldsplit

For å spesifisere Split ved hjelp av et spesifikt tegn, må du passere verdien som funksjonsparameter. I neste eksempel vil vi dele strengen basert på komma (,).

$ $ Helloworld = "The, Quick, Brown, Fox"
$ $ HelloworldArray = $ helloworld.Dele(",")
$ $ Helloworldarray

En annen interessant funksjon er støtten til regex (vanlig uttrykk). Du kan passere vanlige uttrykk som parameter for .Split () funksjon og har finere kontroll over resultatet.

Delende tall og alfabeter

I mange tilfeller vil en streng bestå av både alfabeter og sifre. Ved hjelp av flagget “-Split” kan vi skille alle tegnene og sifrene i individuelle matriser.

La oss sjekke det ut i aksjon. Her har vi en alfanumerisk streng.

$ $ HelloWorld = "R1a2n3do0m6"

For å få bare alfabetene, bruker vi flagget “-Split”. Når det gjelder argumentet, forteller “\ d” å fjerne alle sifrene.

$ $ HelloWorldArray = $ HelloWorld -Split "\ D"
$ $ Helloworldarray

For å få bare sifrene, bruk flagget “-Split” med argumentet “\ d”.

$ $ HelloWorldArray = $ HelloWorld -Split "\ D"
$ $ Helloworldarray

Diverse

Trimmingstrenger

Ulike strenger kan inneholde overflødige tegn i starten eller slutten. Vi kan fjerne dem ved hjelp av trimfunksjonen.

$ "The Quick Brown Fox".Listverk()

Du kan også spesifisere hvilke tegn du skal trimme.

$ "111000111".Trim ("1")

Bruker .Listverk() funksjonen vil fjerne overflødige tegn både i starten og på slutten. For bare å trimme en bestemt side, kan vi bruke .Trimstart () eller .Trimd (). De fungerer akkurat som etiketten antyder.

$ "111000111".Trimstart ("1")
$ "111000111".Trimend ("1")

Siste tanker

Denne artikkelen viser hvordan du deler strenger i PowerShell. Den inneholder to programmeringsprinsipper - matrise og streng. Takk til .Nettestøtte, det er forskjellige funksjoner tilgjengelig for å manipulere en streng. Den dekker hvordan du konverterer en streng til matriser av delstrenger eller tegn.

Dette er bare toppen av isfjellet. PowerShell støtter mange flere måter å samhandle og bruke strenger. Sjekk ut disse guidene på underlag, rekke strenger, sammenkoblende strenger osv.

Glad databehandling!