Concatenar cadenas en PowerShell

  1. Uso del operador + para concatenar cadenas en PowerShell
  2. Uso de separadores para concatenar cadenas en PowerShell
  3. Concatenar cadenas con enteros en PowerShell
  4. Utilice la sustitución de cadenas para concatenar cadenas en PowerShell
  5. Uso del operador -f para concatenar cadenas en PowerShell
  6. Uso del operador -join para concatenar cadenas en PowerShell
  7. Usando el generador de cadenas y la función append() para concatenar cadenas en PowerShell
  8. Usando la función concat() para concatenar cadenas en PowerShell
Concatenar cadenas en PowerShell

En PowerShell, logramos la concatenación de cadenas de varias formas; sin embargo, mientras que PowerShell tiene su propia función incorporada concat() (que también discutiremos más adelante), hay formas más sencillas de unir varias variables de cadenas.

Antes de enumerar todos los métodos de concatenación de cadenas, es mejor declarar algunas variables de cadena que usaremos como ejemplos.

$str1 = "First"
$str2 = "Second"
$str3 = "Third"

A continuación se muestran todos los métodos posibles para concatenar sus cadenas en PowerShell.

Uso del operador + para concatenar cadenas en PowerShell

La forma más básica de concatenar cadenas es mediante el operador +. La concatenación solo funciona con el operador + si ambas variables son cadenas de caracteres. El script procesará la expresión matemáticamente si el operador + se usa en dos o más variables de tipo entero.

Código de ejemplo:

$concatString = $str1 + $str2 + $str3
Write-Output $concatString

Producción :

FirstSecondThird

Uso de separadores para concatenar cadenas en PowerShell

No es solo el operador + que debemos usar para concatenar cadenas, sino que también podemos usar separadores como comas (,). Recuerde encerrar sus variables de cadena entre comillas dobles "", o la variable interpretará sus valores de cadena separados como una propiedad de lista.

Código de ejemplo:

$concatString = "$str1 , $str2 , $str3"
Write-Output $concatString

Producción :

First , Second , Third

Además, recuerde que esto no solo funciona con comas. Encerrar sus objetos de valor de cadena con comillas dobles hace que su variable de cadena sea una expresión literal. WYSIWYG (Lo que ves es lo que obtienes).

Código de ejemplo:

$concatString = "Who came in $str1 , $str2 , and $str3 Place?"
Write-Output $concatString

Producción :

Who came in First , Second, and Third Place?

Concatenar cadenas con enteros en PowerShell

Si intentamos concatenar cadenas con números enteros, se producirá un error de tipo no válido. En el siguiente ejemplo, la nueva variable $concatString tomará el tipo de variable $int1 como su tipo de datos, que es un número entero. Esto sucede porque $int1 se llama primero en la expresión $int1 + $str1.

Código de ejemplo:

$int1 = 0
$concatString = $int1 + $str1 #int variable before string variable
Write-Output $concatString

Producción :

Cannot convert value "First" to type "System.Int32". Error: "Input string was not in a correct format."
At line:3 char:1
+ $concatString = $int1 + $str1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvalidCastFromStringToInteger

Si tomamos la variable de cadena $str1 y la colocamos primero en la expresión, la concatenación será exitosa y $int1 se convertirá automáticamente en un valor de cadena.

Código de ejemplo:

$int1 = 0
$concatString = $str1 + $int1 #str variable before int variable
Write-Output $concatString

Producción :

First0

Utilice la sustitución de cadenas para concatenar cadenas en PowerShell

Alternativamente, podemos realizar otra forma de concatenación mediante la sustitución de cadenas. Este método también funcionará al concatenar cadenas con diferentes tipos de datos.

Código de ejemplo:

$int1 = 0
$concatString = "$($int1) , $($str2)"
Write-Output $concatString

Producción :

0 , Second

Uso del operador -f para concatenar cadenas en PowerShell

Otra forma de concatenar cadenas es usando el operador -f. El operador -f utiliza el paso de variables de cadena como argumentos en un valor de cadena preconstruido.

Código de ejemplo:

$concatString = "{0}.{1}.{2}." -f $str1,$str2,$str3
Write-Output $concatString

Producción :

First.Second.Third

Uso del operador -join para concatenar cadenas en PowerShell

Los operadores -join actúan de manera similar con los separadores, ya que necesitamos pasar un separador de cadena como parámetro.

Código de ejemplo:

$concatString = $str1,$str2,$str3 -join "!"
Write-Output $concatString

Producción :

First!Second!Third

Usando el generador de cadenas y la función append() para concatenar cadenas en PowerShell

El constructor de cadenas es una de las formas complejas de concatenar cadenas, ya que necesitamos llamar a un tipo de objeto separado System.Text.StringBuilder para iniciar este proceso. El objeto luego usa la función append() para concatenar las cadenas y luego convierte el nuevo objeto de nuevo en un valor de cadena usando la función ToString().

Código de ejemplo:

$concatString = New-Object -TypeName System.Text.StringBuilder
$null = $concatString.Append($str1)
$null = $concatString.Append($str2)
$null = $concatString.Append($str3)
$concatString = $concatString.ToString()

Write-Output $concatString

Producción :

FirstSecondThird

Usando la función concat() para concatenar cadenas en PowerShell

Por último, tenemos la propia función concat() de PowerShell.

Código de ejemplo:

$concatString = [System.String]::Concat($str1,".",$str2,".",$str3)
Write-Output $concatString

Producción :

First.Second.Third
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artículo relacionado - PowerShell String