PowerShell-alijonon purkaminen merkkijonosta

26. toukokuuta 2021 40320 Näkymät powershell-alimerkkijono

PowerShellissä alimerkkijono on osa merkkijonoa. Voit luoda PowerShell-alimerkkijonon merkkijonosta käyttämällä joko substriini g, jakaa menetelmiä.

Esimerkki merkkijonosta on aliverkkotunnus.verkkotunnus.com . Kohteen aliverkkotunnus.verkkotunnus.com ovat aliverkkotunnus , verkkotunnus , ja kanssa .

Tässä S-vyöhykkeessä opetan sinulle kaiken, mitä sinun tarvitsee oppiaksesi PowerShell-alimerkkijonosta.

Erityisesti opit poimimaan alimerkkijonoja merkkijonoista käyttämällä Alimerkkijono ja Jakaa menetelmät . Lisäksi opit PowerShellistä Jakaa Operaattori .

Lopuksi opit jakamaan PowerShell-merkkijonon alimerkkijonoiksi ja käyttämään Alimerkkijono Menetelmä alimerkkijonojen purkamiseksi.

Selaa viestien aiheita

Kuinka purkaa PowerShell-alimerkkijono Alimerkkijono Menetelmä

PowerShell-alijonon purkaminen alimerkkijonomenetelmällä

Tässä ensimmäisessä osassa opit poimimaan alimerkkijonoja merkkijonosta Alimerkkijono Menetelmä .

Tiedän, että alimerkkijonojen käyttäminen osana merkkijonoa samassa lauseessa kuin Alimerkkijono Menetelmä voi olla hämmentävää. Selvyyden vuoksi osamerkkijonot osana merkkijonoa viittaavat merkkijonon osan purkamiseen. Esimerkiksi alimerkkijonon usa purkaminen merkkijonosta usa.itechguides.com. Päinvastoin, Alimerkkijono Menetelmä viittaa PowerShelliin Alimerkkijono Menetelmä käytetään tehtävän suorittamiseen.

Aloitan tämän osan selittämällä syntaksin Alimerkkijono Menetelmä.

PowerShellin syntaksi Alimerkkijono Menetelmä

Kohteen syntaksi Alimerkkijono Menetelmä:

|_+_|

Varmistaaksesi, että ymmärrät tämän osan loput osat, on erittäin tärkeää, että kiinnität huomiota näiden syntaksien selittämiseen.

Kuten syntaksista näkyy, kun määrität Alimerkkijono Menetelmä merkkijonosta, syötät aloitushakemisto JA pituus .

The int syntaksissa osoittaa, että aloitushakemisto ja pituus ovat lukuja (kokonaislukuja)

The aloitushakemisto on ensimmäinen merkki alimerkkijonosta, jonka haluat purkaa (laskemalla vasemmalta oikealle ja alkaen lisäämällä 1 tulokseen Sisällysluettelo – paitsi ensimmäinen merkki).

Lisäksi, pituus on erotettavien merkkien lukumäärä alkaen 1:stä ja laskettuna purettavan alimerkkijonon ensimmäisestä merkistä.

Seuraavassa osiossa selitän Sisällysluettelo Menetelmä ja kuinka sitä käytetään määrittämään aloitushakemisto ja pituus . Jos olet edelleen hämmentynyt yrityksestäni selittää tämä melko monimutkainen käsite aloitushakemisto ja pituus , älä lannistu – se selkenee oppaan edetessä.

Seuraavassa osiossa käsitellään tämän käsitteen ymmärtämistä Sisällysluettelo ja LastIndexOf menetelmät.

PowerShell-alimerkkijonon sijainnin tunnistaminen Sisällysluettelo Ja LastIndexOf menetelmät

Kun selitin syntaksin Alimerkkijono Menetelmä, sanoin, että aloitushakemisto PowerShellistä Alimerkkijono Menetelmä on ensimmäinen merkki alimerkkijonosta, jonka haluat purkaa (määritetään lisäämällä 1 Sisällysluettelo arvo kyseiselle osamerkkijonolle).

Tässä osiossa käytän Sisällysluettelo ja LastIndexOf menetelmät PowerShell-merkkijonosta näyttääksesi, kuinka PowerShell määrittää alimerkkijonomerkkien sijainnin merkkijonossa.

Tarkastellaan havainnollistaaksemme ensimmäisen u-kirjaimen indeksipaikkaa usa.itechguides.com - suorittamalla alla oleva komento…

|_+_| The Sisällysluettelo Menetelmä etsii merkkijonon ensimmäisen esiintymän (laskemalla vasemmalta oikealle ja alkaen nollasta)

Tulos on nolla (0)…

Miksi tämä on tärkeää? Kiva kun kysyit!

Muistatteko aloitushakemisto JA pituus PowerShellin syntaksissa Alimerkkijono Menetelmä ?

|_+_|

Jos u-kirjaimen indeksipaikka on usa.itechguides.com on nolla (o), mukaan Sisällysluettelo Menetelmä – se tarkoittaa, että jos haluamme poimia u-kirjaimesta alkavia merkkejä, meidän aloitushakemisto on 0 – koska se on merkkijonon ensimmäinen merkki.

Poikkeus säännöstä, jonka mukaan tulokseen lisätään 1 Sisällysluettelo komento määrittää aloitushakemisto on merkkijonon ensimmäinen merkki. The aloitushakemisto merkkijonon ensimmäisen merkin arvo on aina nolla (0).

Kuinka ihmeellistä!

Lisätään tähän nyt toinen kerros. Entä jos haluamme löytää merkin viimeisen esiintymän merkkijonosta?

Käyttämisen sijaan, Sisällysluettelo Menetelmä , käytämme LastIndexOf Menetelmä . Tämä komento määrittää u-kirjaimen viimeisen esiintymän sijainnin merkkijonossa, usa.itechguides.com :

|_+_| LastIndexOf etsii merkkijonon viimeisen esiintymän (laskemalla vasemmalta oikealle ja alkaen nollasta)

Tuloksena on 10…

PowerShell-alimerkkijonon sijainnin tunnistaminen IndexOf- ja LastIndexOf-menetelmilläTämä tieto siitä, miten PowerShell määrittää alimerkkijonomerkkien sijainnin merkkijonossa, auttaa sinua käsittelemään PowerShell-merkkijonoja – monimutkaisuudesta riippumatta.

Kuinka purkaa PowerShell-alimerkkijono merkkijonosta vasemmalle

Tässä osiossa opit poimimaan alimerkkijonon merkkijonon vasemmalta puolelta. Näytän sinulle esimerkin, jota voidaan käyttää tuotantoympäristöissä.

Olettaen, että hallitset Active Directory -verkkotunnusta, jossa on useita aliverkkotunnuksia. Aliverkkotunnukset on nimetty kolmikirjaimalla maan nimellä. Esimerkkejä aliverkkotunnuksistasi ovat USA.itechguides.com , jpn.itechguides.com .

Oletetaan lisäksi, että kirjoitat PowerShell-komentosarjaa, joka edellyttää ehdollisten komentojen suorittamista maan aliverkkotunnuksen nimen perusteella - Active Directory -verkkotunnuksessasi.

Tässä osiossa opetan sinulle, kuinka aliverkkotunnus puretaan KÄYTTÖT , alkaen USA.itechguides.com .

Aloitetaan tallentamalla aliverkkotunnus, KÄYTTÖT itechguides.com muuttujassa nimeltä aliverkkotunnus .

|_+_|

Noudata alla olevia ohjeita purkaaksesi KÄYTTÖT , alkaen USA.itechguides.com :

  1. Kirjoita piste (.) sen muuttujan viereen, jonka aliverkkotunnus tallennetaan, ja sen jälkeen sana Alimerkkijono . Lisää lopuksi avaussulku…
|_+_| Sisääntulon jälkeen Alimerkkijono , voit myös painaa näppäimistön sarkainnäppäintä. Kun painat Tab-näppäintä, PowerShell lisää aloitussulkeen (.
  1. Kirjoita seuraavaksi aloitushakemisto jota seuraa pilkku (,). Ennen kuin teet tämän, muista, että haluamme poimia Yhdysvallat. Tässä tapauksessa, koska haluamme poimia ensimmäisestä merkistä, meidän aloitushakemisto on nolla (0). Komento näyttää nyt tältä:
|_+_|
  1. Syötä lopuksi pituus , jota seuraa sulkeva sulkumerkki, ). Tässä esimerkissä pituus (lasketaan numeron vieressä olevasta numerosta aloitushakemisto ) on 3 – aloitushakemisto on 0, lisäämällä 1 0:aan saadaan 1.

    Jos lasket U:sta - USA:ssa on 3 merkkiä - mikä tekee pituus yhteensä 3 merkkiä.

    Tässä lopullinen käsikirjoitus…
|_+_|

Jos haluat nähdä komennon toiminnassa, suorita alla oleva komento ensin…

|_+_|

Tämä säästää merkkijonon, USA.itechguides.com PowerShell-muuttujassa, $aliverkkotunnus . Suorita sitten komento, joka poimii USA:n alimerkkijonon merkkijonosta, USA.itechguides.com .

|_+_|

Kuten odotettiin, tulos on USA!

Entä jos haluat purkaa ylätason verkkotunnuksen, itechguides.com alkaen USA.itechguides.com ? Mikä tulee olemaan meidän aloitushakemisto ja pituus ?

Määrittääksesi sinun aloitushakemisto , suorita ensin Sisällysluettelo -komento käyttämällä ensimmäistä pistettä (.) syötteenä.

|_+_|

Tuloksena on 3…

Kuinka purkaa PowerShell-alimerkkijono merkkijonosta vasemmalle

Aiemman selitykseni mukaan määrittää aloitushakemisto tuloksesta Sisällysluettelo komento, lisää 1. Jos lisäämme 1:stä 3:een, meidän aloitushakemisto on 4.

Seuraavaksi määrittää pituus , aloita laskeminen yhdestä alkaen sen merkkijonon ensimmäisestä merkistä, jonka haluat purkaa. Pysähdy sitten viimeiseen merkkiin, jonka haluat poimia merkkijonosta.

Muista, että haluamme poimia itechguides.com alkaen USA.itechguides.com ?

Laskemme merkkijonon ensimmäisestä merkistä, jonka haluamme poimia (i), alkaen luvusta 1, the pituus on 15 ( itechguides.com on 15 merkkiä).

Näiden arvojen perusteella komento, joka purkaa PowerShell-alimerkkijonon, itechguides.com alkaen USA.itechguides.com On…

|_+_|

Tässä tulos, itechguides.com !

Lopuksi auttaaksemme yksinkertaistamaan tätä melko hämmentävää käsitettä aloitushakemisto , Sisällysluettelo , ja pituus , tässä yhteenveto:

  1. The aloitushakemisto PowerShell-merkkijonon ensimmäisen merkin arvo on aina nolla (0)
  2. Määrittääksesi aloitushakemisto alimerkkijonosta, lisää 1 merkkijonoon Sisällysluettelo komennon tulos
  3. Lopuksi, pituus PowerShell-alimerkkijonosta, jonka haluat purkaa, on kokonaisluku (alkaen 1:stä) ja lasketaan alimerkkijonon ensimmäisestä merkistä alimerkkijonon viimeiseen merkkiin.

PowerShell-alijonon purkaminen ennen ja jälkeen määritetyn merkin

Tässä osiossa opetan sinulle, kuinka voit purkaa PowerShell-alimerkkijonon ennen ja jälkeen määritetyn merkin.

Tämän havainnollistamiseksi palataan aliverkkotunnukseemme…

|_+_|

Sano, että haluan purkaa alimerkkijonon ennen mainosta ensimmäisen pisteen (.) jälkeen. Käytännössä haluan purkaa USA (osamerkkijono ennen määritettyä merkkiä).

Lisäksi haluan purkaa itechguides.com-osoitteen (määritetyn merkin jälkeen oleva alimerkkijono).

Ensimmäinen askel on käyttää Sisällysluettelo Menetelmä määrittääksesi viitemerkin sijainnin. Alla oleva komento tallentaa viitemerkin sijainnin muuttujaan, jota kutsutaan uudelleenhahmo .

|_+_|

Käytä seuraavaksi alamerkkijono Menetelmä poimimaan viitemerkkiä edeltävän osamerkkijonon.

|_+_|

Tässä tulos…

Käytä lopuksi seuraavaa PowerShellia alamerkkijono Menetelmä poimimaan viitemerkin jälkeisen osamerkkijonon

|_+_|

Kuten odotettiin, tulos poimii alimerkkijonon pisteen jälkeen, joka on itechguides.com !

PowerShell-alijonon purkaminen ennen ja jälkeen määritetyn merkin

PowerShell-alijonon purkaminen 2 merkin välillä

Tässä osiossa opetan sinulle purkamisen itech-oppaat alkaen USA.itechguides.com . Tässä esimerkissä haluan purkaa PowerShell-alimerkkijonon kahden merkin välillä.

Tämän esimerkin kaksi merkkiä ovat ensimmäinen ja viimeinen piste (.). Skripti vaatii 3 komentoa.

Ensimmäisessä komennossa käytämme Sisällysluettelo Menetelmä määrittääksesi ensimmäisen viitemerkin (.) sijainnin. Tallenna sitten tulos muuttujaan nimeltä ensimmäinen viite .

|_+_|

Seuraavaksi käytämme LastIndexOf Menetelmä määrittääksesi viimeisen viitemerkin sijainnin. Tulos tallennetaan sisään lastref muuttuja.

|_+_|

Lopuksi, jotta voit purkaa PowerShell-alimerkkijonon, itech-oppaat 2 merkin (pisteet) välissä, suorita alla oleva komento...

|_+_|

Lisäsimme komennossa 1 tulokseen Sisällysluettelo komento. Tässä esimerkissä 3, jolloin yhteensä 4.

Tämä tekee meidän aloitushakemisto Neljä.

Lisäksi PowerShellissä alamerkkijono Menetelmä , käytimme pituus kuten $lastref-4 .

Aiemmista käskyistämme $lastref on muuttuja, jonka tallensimme tuloksen LastIndexOf komento.

Tulos on 15. 4 poistaminen 15:stä tekee meidän pituus yksitoista.

Viimeisen komennon tulos on itech-oppaat !

PowerShell-alijonon purkaminen split-menetelmällä

PowerShell-alijonon purkaminen split-menetelmällä

Tämän oppaan ensimmäisessä osassa käsittelin PowerShell-alimerkkijonon purkamista Alimerkkijono Menetelmä . Tässä osiossa opit purkamaan PowerShell-alimerkkijonon kanssa Jakaa Menetelmä .

Kuten tavallista, aloitan tämän osion PowerShellin syntaksilla Jakaa Menetelmä .

PowerShellin syntaksi Jakaa Menetelmä

Kohteen syntaksi Jakaa Menetelmä PowerShell-alimerkkijonon purkamiseen on:

|_+_|

Erotin on mikä tahansa merkki, jota haluat käyttää PowerShell-merkkijonon jakamiseen yksittäisiksi osamerkkijonoiksi.

[]-sulkeen asetettua osamerkkijonoa käytetään valitsemaan tietty osamerkkijono, jonka haluat palauttaa merkkijonoista.

Kuinka käyttää useita erottimia PowerShell Splitin kanssa

Kuten PowerShellin syntaksista näkyy Jakaa Menetelmä , se sallii vain yhden erottimen. Jos kuitenkin haluat jakaa osamerkkijonoja merkkijonosta, jossa on useita erottimia, sinun on käytettävä PowerShellia Jakaa Operaattori , sen sijaan.

PowerShellin syntaksi Jakaa Operaattori on…

|_+_|

Jos haluat käyttää useita erottimia, tallenna merkkijono ensin muuttujaksi – tässä esimerkissä $string. Käytä sitten automaattista liukuhihnamuuttujaa $_ lisätäksesi useat erottimet alla kuvatulla tavalla:

|_+_|

Voimme esimerkiksi jakaa tämän Active Directoryn erottuva nimi , OU=LON,OU=DEV,DC=ITECHGUIDES,DC=COM – käyttämällä kahta erotinta =, ja ,.

Tallennetaan ensin DN muuttujaan nimeltä $ADDN…

|_+_|

Sitten voit jakaa merkkijonon erottimilla =, ja käyttämällä alla olevaa komentoa:

|_+_|

Bingo, viimeinen komento jakaa merkkijonon yksittäisiksi PowerShell-alijonoiksi!

Seuraavassa osiossa opit palauttamaan yhden substtingeista.

Kuinka purkaa PowerShell-alimerkkijono The Jakaa Menetelmä

Viimeisessä osiossa näit kuinka jakaa merkkijono yksittäisiksi merkkijonoiksi PowerShellin avulla Jakaa Operaattori . Tässä viimeinen käsky…

|_+_|

Komento jakaa merkkijonon sen yksittäisiin osamerkkijonoihin.

PowerShell-alijonon purkaminen split-menetelmällä

Kun keskustelin syntaksista Jakaa PowerShell-alimerkkijonon purkamistapa on, sisällytin []-sulun, joka sisältää palautettavan alimerkkijonon sijainnin:

|_+_|

PowerShell numeroi osamerkkijonojen sijainnit nollasta (0). Joten palatakseni Active Directory DN -esimerkkiin – katso alla oleva kuvakaappaus – ensimmäinen osamerkkijono OU on paikassa nolla (0), LON on paikassa 1 ja niin edelleen.

PowerShell-alijonon purkaminen split-menetelmällä

Joten palauttaaksesi LON, laitamme viimeisen komennon [1] hakasulkeeseen. Tässä tilanteessa, yksi on palautettavan alimerkkijonon sijainti.

Tässä on käsky…

|_+_|

Tässä on komennon tulos:

Vaihtoehtoisesti voit tallentaa komennon tuloksen komennolla Jakaa Operaattori muuttujaksi.

|_+_|

Palauta sitten mikä tahansa alimerkkijono merkitsemällä alimerkkijonon sijainti []-sulkeen. Esimerkiksi palauttaaksemme LON, käytämme alla olevaa komentoa:

|_+_|

Tulos on sama kuin edellinen komento ilman muuttujaa…

PowerShell-alijonon purkaminen split-menetelmällä

Kuinka purkaa alimerkkijonon viimeinen elementti PowerShell-jaolla

Jos haluat palauttaa alimerkkijonon ensimmäisen tai viimeisen elementin (merkin), voit käyttää samaa periaatetta viimeisestä esimerkistämme.

Tätä aihetta tutkiessani törmäsin tähän stackoverflow.com lanka. Käyttäjällä on alla näkyvä merkkijono:

|_+_| StackOverflow-kysymys selittää, että merkkijono, 0.3.1-15-g3b885c5 tarkoittaa Tag-CommitDistance-CommitId . Eli 0.3.1 on se tag , 15 on CommitDistance , ja g3b885c5 on CommitId .

Kysymys on palauttaa merkkijonon ensimmäinen osa, 0.3.1 – tämän käyttäjän mukaan ns tag . Lisäksi käyttäjä haluaa palauttaa merkkijonon viimeisen osan, g3b885c5, nimeltään CommitId .

Ensimmäinen askel on tallentaa merkkijono muuttujaksi (tämä on valinnainen, mutta yleensä helpottaa elämää).

|_+_|

Käytä sitten Jakaa Menetelmä jakaa merkkijono PowerShell-alijonoiksi käyttämällä - erottimena. Jälleen kerran, jotta minun olisi helppo selittää, tallennan tuloksen toiseen muuttujaan…

|_+_|

Jos haluat nähdä viimeisen komennon tuloksen, suorita $TccSubstrings muuttuja yksinään.

|_+_|

Tässä se on…

Tässä osiossa olevien aikaisempien esimerkkiemme perusteella poimitaan Tag (ensimmäinen osamerkkijono), käytä alla olevaa komentoa:

|_+_|

Lopuksi purkaa CommitId (viimeinen osamerkkijono), käytä alla olevaa komentoa…

|_+_|

Ja tässä tulokset…

Kuinka purkaa alimerkkijonon viimeinen elementti PowerShell-jaolla

Huomaa, että voit myös ratkaista tämän ongelman suorittamalla yhden komennon…

|_+_|

Ja tässä sama tulos...

Tässä ei ole mitään taikuutta, tein vain yhdistäen kaikki komennot yhdeksi komennosta!

Kuinka jakaa merkkijono ja poistaa tyhjät merkinnät PowerShell Splitin avulla

Tässä viimeisessä esimerkissä haluan näyttää sinulle kuinka jakaa merkkijono, jossa on tyhjiä välilyöntejä (tai merkintöjä) alimerkkijonoiksi. Poista sitten tyhjät kohdat lopputuloksesta.

Toisessa stackoverflow.com säiettä, käyttäjä lähetti tämän muuttujaan tallennetun merkkijonon:

|_+_|

Käyttäjä käytti sitten Jakaa Menetelmä jakaaksesi merkkijonon yksittäisiksi osamerkkijonoiksi.

|_+_|

Käyttäjän mukaan (ja tämä on ilmeistä) ongelmana on, että tuloksessa on välilyöntejä.

Tämän kysymyksen lähettänyt henkilö halusi poistaa välilyönnit alimerkkijonoista. Ratkaisuja on useita, mutta yksi nopea tapa on ohjata split-komennon tulos Missä-Objekti .

Tämä on kohteliaisuus Rynant . Tässä on käsky…

|_+_|

Ja tässä tulos…

Siinä se, päivitetty PowerShell-alimerkkijonoartikkelimme! Toivottavasti siitä oli apua.

Jos pidit tästä artikkelista hyödyllisenä, äänestä ystävällisesti Joo Oliko tämä viesti Hyödyllinen kysymys alla.

Vaihtoehtoisesti voit esittää kysymyksen, jättää kommentin tai antaa lisää palautetta tämän sivun lopusta löytyvällä Vastaa -lomakkeella.

Lopuksi lisää PowerShell tech S Zones -alueita Windows PowerShell -ohjesivullamme. Saatat myös pitää Work from Home -sivustamme erittäin hyödyllisenä.

Viitteet ja lisätietoa

  1. Tietoja Splitistä
  2. String.Substring Method
  3. Tietoja operaattoreista
  4. Tietoja menetelmistä
  5. String.Split Method