PowerShell Concatenate String

PowerShell Concatenate String
Lo scripting di PowerShell è una delle competenze più preziose che qualsiasi amministratore di sistema può possedere. Consente la creazione di strumenti da semplici a complessi che possono automatizzare le attività in pochi secondi.

In questo tutorial, impareremo come possiamo lavorare con le stringhe imparando a concatenare le stringhe in PowerShell.

Iniziamo.

PowerShell Concatenate Strings - L'operatore di addizione

Il metodo più semplice e standard per concatenare le stringhe in PowerShell è l'operatore di addizione. Questo è molto utile quando è necessario collegare due o più stringhe.

Quindi, garantire che tutte le variabili passate mantengano i tipi di stringa prima di concatenare è una buona pratica.

Vediamo un esempio di utilizzo dell'operatore di addizione per unire due stringhe.

$ url = "LinuxHint.com "
$ proto = "https: //"
$ site = $ proto + $ url
Sito di write-output $


Nell'esempio sopra, definiamo due variabili di stringa che contengono l'URL e il protocollo per un indirizzo Web specifico.

Quindi utilizziamo l'operatore di addizione per concatenare le due stringhe e archiviare il risultato in una nuova variabile.

Una volta eseguito il codice sopra, dovremmo ottenere un output come mostrato:

. "Concate_strings.PS1 "
https: // linuxhint.com

PowerShell Concatenate Strings - L'operatore -f

Il secondo metodo per concatenare le stringhe è l'operatore -f. Questo operatore consente di specificare le variabili di stringa come argomenti e restituire un valore.

Prendi l'esempio presentato di seguito:

$ url = "LinuxHint.com "
$ proto = "https: //"
$ site = "0 1" -f $ proto, $ url
Sito di write-output $


In questo esempio, utilizziamo l'operatore -f per passare le stringhe che desideriamo concatenare come parametri. PowerShell prenderà quindi le corde nell'ordine in cui vengono presentate e si uniranno a loro in una sola.

Questo metodo è molto simile alla formattazione di F-String in Python.

Il valore risultante è come mostrato:

.\ Concate_Strings.PS1 "
https: // linuxhint.com

Stringhe concatenate PowerShell - Usando un separatore.

PowerShell supporta anche i delimitatori come metodo di concatenazione di stringhe. In questo caso, passiamo le variabili di stringa che desideriamo concaterare, separate dai delimitatori target.

Per esempio:

$ FirstName = "Pauline"
$ lastname = "yue"
$ fullname = $ firstname, $ lastname
Write-output $ fullname


In questo esempio, passiamo il valore delimitatore come virgola. Questo ci consente di passare più stringhe e ottenere un valore, come mostrato nell'output:

Pauline
Yue

PowerShell Concatenate Strings - Utilizzo della classe String Builder

C'è un altro metodo meno evidente per concatenare le corde in PowerShell. C# ha una classe chiamata StringBuilder che possiamo usare per farlo.

La classe StringBuilder in C# consente di creare caratteri stringa mutabili. Tuttavia, possiamo usarlo per concatenare le stringhe in PowerShell, come mostrato nell'esempio seguente.

$ url = "LinuxHint.com "
$ proto = "https: //"
$ site = sistema di nuovo -object -typename.Testo.StringBuilder
$ t = $ sito.Append ($ proto)
$ t = $ sito.Append ($ URL)
$ Sito.Accordare()


Nel codice sopra, iniziamo definendo due variabili che trattengono le stringhe che desideriamo concatenare.

Nella terza riga, creiamo una nuova variabile che contiene l'oggetto stringa completo. Si noti che lo definiamo come un tipo di costruttore di stringa.

Infine, utilizziamo l'oggetto appena creato e il metodo di append per aggiungere le stringhe insieme.

Potresti chiedere: "Perché dovrei mai passare a C# per unirsi a Strings in PowerShell?"Sebbene non possiamo abbattere il pieno vantaggio in questo articolo, l'uso di StringBuilder rimuove alcune limitazioni in PowerShell, come la mutabilità.

PowerShell Concatenate String - usando la funzione concat ()

Infine, la funzione Concat () di PowerShell consente di unire le stringhe in un metodo più pulito.

Prendi un codice di esempio come mostrato di seguito:

$ url = "LinuxHint.com "
$ proto = "https: //"
$ site = [sistema.String] :: Concat ($ Proto, $ URL)
Sito di write-output $


Nell'esempio sopra, utilizziamo il sistema.String :: Concat () Funzione per concatenare le corde.

Questo è il metodo più pulito per unire le stringhe. Inoltre, è un Powershell nativo e non è necessario creare nuovi oggetti e convertirli in una stringa per farlo.

Questo dovrebbe restituire l'output come:

".\ Concate_Strings.PS1 "
https: // linuxhint.com

Chiusura

In questo articolo, hai imparato vari metodi e tecniche di concatenenti di stringhe in PowerShell.