Ak máte reťazec textu v prostredí Microsoft PowerShell, často je užitočné rozdeliť reťazec do viacerých premenných.
Kredit za obrázok: dusanpetkovic/iStock/GettyImages
Ak máte reťazec textu v prostredí Microsoft PowerShell, často je užitočné rozdeliť reťazec do viacerých premenných. Môžete mať napríklad krstné meno a priezvisko používateľa oddelené medzerou alebo telefónne číslo začínajúce predvoľbou. Môžete na to použiť vstavanú funkciu PowerShell Split. K dispozícii sú ďalšie funkcie, aby PowerShell analyzoval reťazec inými spôsobmi.
Pochopenie prostredia Microsoft PowerShell
PowerShell je nástroj príkazového riadka a programovací jazyk poskytovaný spoločnosťou Microsoft. Je to náhrada za starší nástroj na dávkové skriptovanie Windows a DOS, ktorý je tiež stále dostupný vo väčšine verzií Windowsu.
Video dňa
Často sa používa na kombinovanie výstupu z viacerých programov alebo na prenos údajov z jedného programu do druhého, takže je užitočné ho použiť na manipuláciu s reťazcami.
Funkcia PowerShell Split
Ak máte reťazec v PowerShell a chcete ho rozdeliť na nejaký znak, môžete tak urobiť pomocou vstavaného Rozdeliť funkciu. Buď napíšte s -Split, kde s je premenná obsahujúca reťazec, alebo zavolajte s.split. Funkcia vráti pole obsahujúce každý z prvkov rozdeleného reťazca, ktorý môžete zachytiť v premennej ako
$a = s.split()
Môžete ich priradiť k premenným tak, že k jednotlivým prvkom pristúpite ako $a[0], $a[1] atď., alebo ich ponechajte v poli, ak je to užitočnejšie.
Rozdelenie reťazcov je často užitočné, keď potrebujete rozdeliť vstup používateľa alebo výstup z iného programu na jeho jednotlivé časti.
Možnosti rozdelenia prostredia PowerShell
V predvolenom nastavení PowerShell rozdelí reťazec na medzery vrátane medzier, zlomov riadkov a tabulátorov. V niektorých prípadoch možno budete chcieť rozdeliť reťazec na iný znak, ako je napríklad čiarka alebo spojovník, alebo reťazec, ako napríklad „a“.
Ak to chcete urobiť, vytvorte požadovaný znak alebo reťazec, ktorý sa má rozdeliť okolo druhého argumentu funkcie rozdelenia, napríklad napísaním s.split("") alebo s -split "," na rozdelenie na čiarku. Bez ohľadu na charakter, ktorý sa rozhodnete dať PowerShellu ako oddeľovač, alebo oddeľovač, bude vynechaný zo všetkých výsledných reťazcov.
Môžete si tiež vybrať a maximálny počet reťazcov na rozdelenie poskytnutím tohto ako dodatočného argumentu. Napríklad "a, b, c, d".split(",",2) poskytne pole s prvkami "a" a "b, c, d", zatiaľ čo "a, b, c, d". split(",") poskytne pole s každým písmenom vo vlastnom reťazci.
Orezanie reťazca v PowerShell
PowerShell môžete nechať orezať reťazec alebo odstrániť prebytočné znaky zo začiatku alebo konca pomocou orezať funkciu. V predvolenom nastavení odstráni medzery zo začiatku a konca reťazca.
Napríklad " a ".trim() poskytne výsledok "a." Ako argument môžete zadať ďalšie znaky, ktoré chcete z reťazca odstrániť, takže "^$a ".trim(" ^") poskytne výsledok "$a."
Pomocou funkcií TrimStart a TrimEnd môžete odstrániť iba znaky zo začiatku alebo konca reťazca.
Toto je často užitočné, keď máte údaje získané od používateľa, ktorý ich zadal do vstupného poľa s medzerami alebo novými riadkami na konci.
Funkcia spojenia PowerShell
Rovnako ako v iných programovacích jazykoch, PowerShell's pripojiť sa funkcia je v podstate opačná rozdeliť. Trvá viacero reťazcov a kombinuje ich s daným oddeľovačom alebo bez medzery.
Napríklad -join ("a",,"b","c") poskytne výsledok "abc", zatiaľ čo "a","b","c" -join " " poskytne výsledný reťazec "ab c" ." Toto môže byť užitočné, keď máte viacero premenných, ktoré potrebujete skombinovať do jednej na uloženie do súboru, odovzdanie inému príkazu alebo výstup používateľovi.