Come dividere una stringa in due variabili in PowerShell

Primo piano delle mani che digitano sul computer portatile. Concetto di lavoro notturno.

Se hai una stringa di testo in Microsoft PowerShell, è spesso utile dividere la stringa in più variabili.

Credito immagine: dusanpetkovic/iStock/GettyImages

Se hai una stringa di testo in Microsoft PowerShell, è spesso utile dividere la stringa in più variabili. Ad esempio, potresti avere il nome e il cognome di un utente separati da uno spazio o un numero di telefono che inizia con un prefisso. È possibile utilizzare la funzione PowerShell Split incorporata per eseguire questa operazione. Sono disponibili altre funzioni per consentire a PowerShell di analizzare una stringa in altri modi.

Comprensione di Microsoft PowerShell

PowerShell è uno strumento da riga di comando e un linguaggio di programmazione fornito da Microsoft. È la sostituzione del vecchio strumento di scripting batch di Windows e DOS, che è ancora disponibile sulla maggior parte delle versioni di Windows.

Video del giorno

Viene spesso utilizzato per combinare l'output di più programmi o per passare dati da un programma a un altro, quindi è utile utilizzarlo per manipolare le stringhe.

La funzione di suddivisione di PowerShell

Se hai una stringa in PowerShell e vuoi dividerla su qualche carattere, puoi farlo usando il built-in Diviso funzione. Scrivi s -Split, dove s è la variabile che contiene la stringa, oppure chiama s.split. La funzione restituirà un array contenente ciascuno degli elementi della stringa divisa, che puoi catturare in una variabile come

$a = s.split()

Puoi assegnarli alle variabili accedendo ai singoli elementi come $a[0], $a[1] e così via o tenerli nell'array se questo è più utile.

La suddivisione delle stringhe è spesso utile quando è necessario suddividere l'input dell'utente o l'output di un altro programma nelle sue parti componenti.

Opzioni di suddivisione di PowerShell

Per impostazione predefinita, PowerShell dividerà la stringa in caratteri di spazi vuoti, inclusi spazi, interruzioni di riga e tabulazioni. In alcuni casi, potresti voler dividere la stringa su un altro carattere, come una virgola o un trattino, o una stringa come "e".

Per fare ciò, crea il carattere o la stringa desiderati da dividere attorno al secondo argomento della funzione split, scrivendo s.split(",") o s -split "," per dividere su una virgola, ad esempio. Qualunque sia il personaggio che scegli di dare a PowerShell come delimitatore, o separatore, verrà omesso da tutte le stringhe di risultato.

Puoi anche scegliere un numero massimo di stringhe in cui dividere fornendo questo come ulteriore argomento. Ad esempio, "a, b, c, d".split(",",2) darà un array con gli elementi "a" e "b, c, d" mentre "a, b, c, d". split(",") darà un array con ogni lettera nella propria stringa.

Tagliare una stringa in PowerShell

Puoi fare in modo che PowerShell tagli una stringa o rimuova i caratteri in eccesso dall'inizio o dalla fine, usando il pulsante ordinare funzione. Per impostazione predefinita, rimuoverà gli spazi dall'inizio e dalla fine della stringa.

Ad esempio, " a ".trim() darà il risultato "a". Puoi specificare altri caratteri che vuoi rimuovere dalla stringa come argomento, così "^$a ".trim(" ^") darà il risultato "$a."

È possibile utilizzare le funzioni TrimStart e TrimEnd per rimuovere solo i caratteri dall'inizio o dalla fine della stringa.

Questo è spesso utile quando si hanno dati ottenuti da un utente che li ha digitati in una casella di input con spazi extra o nuove righe alla fine.

La funzione di join di PowerShell

Come in altri linguaggi di programmazione, PowerShell's giuntura la funzione è essenzialmente l'opposto di diviso. Prende più stringhe e le combina insieme con un determinato delimitatore o senza alcuno spazio.

Ad esempio, -join ("a", "b", "c") darà il risultato "abc", mentre "a", "b", "c" -join " " darà la stringa di risultato "ab c ." Questo può essere utile quando hai più variabili che devi combinare in una per archiviare in un file, passare a un altro comando o inviare un output a un utente.