Búsqueda de sitios web

Matriz de PowerShell a cadena [6 formas]


Usar comillas dobles

Utilice comillas dobles para convertir un objeto de matriz en una cadena en PowerShell.

Utilice comillas dobles:

$arrayObject = "How", "are", "you?"
$arrayString = "$arrayObject"
$arrayObject.GetType()
$arrayString.GetType()

PRODUCCIÓN :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                 --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

Primero, creamos un objeto de matriz y lo guardamos en la variable $arrayObject; También podemos crear un objeto de matriz usando el operador de matriz (@()), por ejemplo, $arrayObject=@("How", "are", "you?"). A continuación, encerramos la variable $arrayObject entre comillas dobles y guardamos el valor actualizado en la variable $arrayString.

Luego, encadenamos el método GetType() con $arrayObject y $arrayString para conocer sus tipos de datos. Por ejemplo, consulte la columna Name en el resultado anterior; Hemos convertido con éxito el objeto de matriz en una cadena. Ahora podemos imprimir el valor de $arrayString para ver cómo se ve la cadena convertida; vea el siguiente ejemplo.

Imprimir $arrayString:

$arrayString

PRODUCCIÓN :

How are you?

De ahora en adelante, solo discutiremos la función, variable, cmdlet y operador que usamos para convertir el objeto de matriz en una cadena; No explicaremos la creación de matrices y el método GetType() porque ya los hemos cubierto en esta sección. Entonces, continuemos con las secciones restantes.

Uso de conversión de tipos/conversión explícita

Utilice la conversión de tipos (conversión explícita) para convertir un objeto de matriz en una cadena.

Utilice el tipo de fundición:

$arrayObject = "How", "are", "you?"
$arrayString = [string]$arrayObject
$arrayObject.GetType()
$arrayString.GetType()

PRODUCCIÓN :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                  --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

Aquí utilizamos la conversión explícita de un objeto de matriz a una cadena. También podemos llamarlo encasillamiento porque estamos convirtiendo (cambiando) el tipo de datos de uno a otro.

Especificamos el [string] seguido inmediatamente por $arrayObject para convertir el tipo de datos del objeto de matriz a cadena y lo guardamos como variable $arrayString. Ahora, $arrayString tiene la siguiente cadena.

Imprimir $arrayString:

$arrayString

PRODUCCIÓN :

How are you?

Usando el operador -join

Utilice el operador -join para convertir un objeto de matriz en una cadena.

Utilice el operador -join:

$arrayObject = "How", "are", "you?"
$arrayString = $arrayObject -join " "
$arrayObject.GetType()
$arrayString.GetType()

PRODUCCIÓN :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                 --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

Para esta sección, utilizamos el operador -join, que une los elementos de la matriz usando el separador especificado. El separador puede ser una letra, un número o un carácter específico; sin embargo, utilizamos un único espacio en blanco para unir/concatenar elementos de la matriz. Ahora, el valor de $arrayString tiene el siguiente aspecto.

Imprimir $arrayString:

$arrayString

PRODUCCIÓN :

How are you?

Usando la función Join()

Utilice la función Join() para convertir un objeto de matriz en una cadena.

Utilice la función Join():

$arrayObject = "How", "are", "you?"
$arrayString = [system.String]::Join(" ", $arrayObject)
$arrayObject.GetType()
$arrayString.GetType()

PRODUCCIÓN :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                 --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

Esta barrera de código es similar a la anterior, donde usamos el operador -join. Pero aquí usamos la función Join(), que también hizo lo mismo, uniendo todos los elementos de la matriz usando el separador especificado. Ahora, $arrayString se parece a lo siguiente.

Imprimir $arrayString:

$arrayString

PRODUCCIÓN :

How are you?

Uso del cmdlet Out-String

Utilice el cmdlet Out-String para convertir un objeto de matriz en una cadena.

Utilice cmdlet fuera de cadena:

$arrayObject = "How", "are", "you?"
$arrayString = $arrayObject | Out-String
$arrayObject.GetType()
$arrayString.GetType()

PRODUCCIÓN :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                 --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

Aquí, utilizamos el cmdlet Out-String que genera los objetos de entrada recibidos como una cadena. Usamos el signo de tubería (|) para reenviar los datos de $arrayObject al Out-String.

Este enfoque muestra un resultado que difiere de los métodos anteriores. Convierte cada elemento de la matriz en una cadena; vea el siguiente resultado.

Imprimir $arrayString:

$arrayString

PRODUCCIÓN :

How
are
you?

Usando la variable $OFS

Utilice la variable $OFS para convertir un objeto de matriz en una cadena.

Utilice la variable $OFS:

$arrayObject = "How", "are", "you?"
$OFS = ','
$arrayString = "$arrayObject"
$arrayObject.GetType()
$arrayString.GetType()

PRODUCCIÓN :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                                 --------
True     True     Object[]                                 System.Array
True     True     String                                   System.Object

Este ejemplo de código es similar a la primera sección, donde usamos comillas dobles para convertir un objeto de matriz en una cadena. Sin embargo, con $OFS (separador de campo de salida), podemos usar un separador de nuestra elección sin usar el operador -join o Join() función.

Después de usar la variable $OFS, todas las conversiones tendrán un separador que asignamos a la variable $OFS hasta que cambie $OFS. Esta vez, $arrayString tendrá el siguiente aspecto.

Imprimir $arrayString:

$arrayString

PRODUCCIÓN :

How,are,you?

Se trata de PowerShell Array to String,

Artículos relacionados