Om du har en textsträng i Microsoft PowerShell är det ofta användbart att dela upp strängen i flera variabler.
Bildkredit: dusanpetkovic/iStock/GettyImages
Om du har en textsträng i Microsoft PowerShell är det ofta användbart att dela upp strängen i flera variabler. Du kan till exempel ha en användares förnamn och efternamn separerade med ett mellanslag, eller ett telefonnummer som börjar med ett riktnummer. Du kan använda den inbyggda PowerShell Split-funktionen för att göra detta. Andra funktioner är tillgängliga för att få PowerShell att analysera en sträng på andra sätt.
Förstå Microsoft PowerShell
PowerShell är ett kommandoradsverktyg och programmeringsspråk som tillhandahålls av Microsoft. Det är ersättningen till det äldre Windows- och DOS-batchskriptverktyget, som också fortfarande är tillgängligt på de flesta versioner av Windows.
Dagens video
Det används ofta för att kombinera utdata från flera program eller skicka data från ett program till ett annat, så det är användbart att använda det för att manipulera strängar.
PowerShell Split-funktionen
Om du har en sträng i PowerShell och vill dela den på något tecken kan du göra det med den inbyggda Dela fungera. Skriv antingen s -Split, där s är variabeln som innehåller strängen, eller ring s.split. Funktionen returnerar en array som innehåller vart och ett av elementen i den delade strängen, som du kan fånga i en variabel som
$a = s.split()
Du kan tilldela dessa till variabler genom att komma åt de individuella elementen som $a[0], $a[1] och så vidare eller behålla dem i arrayen om det är mer användbart.
Att dela strängar är ofta användbart när du behöver bryta användarinmatning eller utdata från ett annat program i dess beståndsdelar.
PowerShell Split Options
Som standard kommer PowerShell att dela upp strängen på blankstegstecken, inklusive mellanslag, radbrytningar och tabbar. I vissa fall kanske du vill dela strängen på ett annat tecken, som ett kommatecken eller bindestreck, eller en sträng som " och."
För att göra detta, gör det önskade tecknet eller strängen att dela runt det andra argumentet till splitfunktionen, genom att skriva s.split(",") eller s -split "," för att dela på ett kommatecken, till exempel. Vilken karaktär du än väljer att ge till PowerShell som avgränsare, eller separator, kommer att utelämnas från alla resultatsträngar.
Du kan också välja en maximalt antal strängar att dela upp i genom att tillhandahålla detta som ett ytterligare argument. Till exempel kommer "a, b, c, d".split(",",2) att ge en array med elementen "a" och "b, c, d" medan "a, b, c, d". split(",") ger en array med varje bokstav i sin egen sträng.
Trimma en sträng i PowerShell
Du kan låta PowerShell trimma en sträng eller ta bort överflödiga tecken från början eller slutet, genom att använda trim fungera. Som standard tar det bort blanksteg från början och slutet av strängen.
Till exempel kommer " a ".trim() att ge resultatet "a." Du kan ange andra tecken som du vill ska tas bort från strängen som ett argument, så "^$a ".trim(" ^") kommer att ge resultatet "$a."
Du kan använda funktionerna TrimStart och TrimEnd för att bara ta bort tecken från början eller slutet av strängen.
Detta är ofta användbart när du har data som erhållits från en användare som skrivit in det i en inmatningsruta med extra mellanslag eller rader i slutet.
PowerShell Join-funktionen
Som i andra programmeringsspråk, PowerShell's Ansluta sig funktion är i huvudsak motsatsen till dela. Det tar flera strängar och kombinerar dem med en given avgränsare eller utan mellanslag alls.
Till exempel kommer -join ("a","b","c") att ge resultatet "abc," medan "a","b","c" -join " " ger resultatsträngen "ab c ." Det här kan vara användbart när du har flera variabler som du behöver kombinera till en för att lagra i en fil, skicka till ett annat kommando eller mata ut till en användare.