Cómo dividir una cadena en dos variables en PowerShell

Si tiene una cadena de texto en Microsoft PowerShell, suele ser útil dividir la cadena en varias variables. Por ejemplo, puede tener el nombre y el apellido de un usuario separados por un espacio, o un número de teléfono que comience con un código de área. Puede usar la función PowerShell Split integrada para hacer esto. Hay otras funciones disponibles para que PowerShell analice una cadena de otras formas.

Comprender Microsoft PowerShell

PowerShell es una herramienta de línea de comandos y un lenguaje de programación proporcionado por Microsoft. Es el reemplazo de la antigua herramienta de secuencias de comandos por lotes de Windows y DOS, que también está disponible en la mayoría de las versiones de Windows.

A menudo se usa para combinar la salida de varios programas o pasar datos de un programa a otro, por lo que es útil usarlo para manipular cadenas.

La función de división de PowerShell

Si tiene una cadena en PowerShell y desea dividirla en algún carácter, puede hacerlo usando el Dividir incorporado. función. Escriba s -Split, donde s es la variable que contiene la cadena, o llame a s.split. La función devolverá una matriz que contiene cada uno de los elementos de la cadena dividida, que puede capturar en una variable como

$a =s.split()

Puede asignarlos a las variables accediendo a los elementos individuales como $a[0], $a[1], etc., o mantenerlos en la matriz si le resulta más útil.

Dividir cadenas suele ser útil cuando necesita dividir la entrada del usuario o la salida de otro programa en sus componentes.

Opciones de división de PowerShell

De forma predeterminada, PowerShell dividirá la cadena en caracteres de espacio en blanco, incluidos espacios, saltos de línea y tabulaciones. En algunos casos, es posible que desee dividir la cadena en otro carácter, como una coma o un guión, o una cadena como "y".

Para hacer esto, haga que el carácter o cadena deseado se divida alrededor del segundo argumento de la función de división, escribiendo s.split(",") o s -split "," para dividir en una coma, por ejemplo. Cualquiera que sea el carácter que elija para dar a PowerShell como delimitador , o separador, se omitirá de todas las cadenas de resultados.

También puede elegir un número máximo de cadenas para dividir proporcionando esto como un argumento adicional. Por ejemplo, "a,b,c,d".split(",",2) dará una matriz con los elementos "a" y "b,c,d" mientras que "a,b,c,d". split(",") dará una matriz con cada letra en su propia cadena.

Recortar una cadena en PowerShell

Puede hacer que PowerShell recorte una cadena, o elimine el exceso de caracteres desde el principio o el final, mediante el recortar función. De forma predeterminada, eliminará los espacios en blanco al principio y al final de la cadena.

Por ejemplo, " a ".trim() dará el resultado "a". Puede especificar otros caracteres que desee que se eliminen de la cadena como argumento, por lo que "^$a ".trim(" ^") dará como resultado "$a".

Puede utilizar las funciones TrimStart y TrimEnd para eliminar solo los caracteres del principio o el final de la cadena.

Esto suele ser útil cuando tiene datos obtenidos de un usuario que los escribió en un cuadro de entrada con espacios adicionales o saltos de línea al final.

La función de unión de PowerShell

Como en otros lenguajes de programación, el join de PowerShell la función es esencialmente lo contrario de split . Toma varias cadenas y las combina con un delimitador dado o sin ningún espacio.

Por ejemplo, -join ("a","b","c") dará como resultado "abc", mientras que "a","b","c" -join " " dará como resultado la cadena "a b c" ." Esto puede ser útil cuando tiene múltiples variables que necesita combinar en una para almacenar en un archivo, pasar a otro comando o enviar a un usuario.