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.ObjectPrimero, 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:
$arrayStringPRODUCCIÓ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.ObjectAquí 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.ObjectPara 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:
$arrayStringPRODUCCIÓ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:
$arrayStringPRODUCCIÓ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.ObjectAquí, 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:
$arrayStringPRODUCCIÓ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.ObjectEste 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:
$arrayStringPRODUCCIÓN :
How,are,you?Se trata de PowerShell Array to String,
