Cómo dividir una cadena en dos variables en PowerShell

Cerca de las manos escribiendo en la computadora portátil. Concepto de trabajo nocturno.

Si tiene una cadena de texto en Microsoft PowerShell, a menudo es útil dividir la cadena en varias variables.

Credito de imagen: dusanpetkovic / iStock / GettyImages

Si tiene una cadena de texto en Microsoft PowerShell, a menudo es útil dividir la cadena en varias variables. Por ejemplo, puede tener el nombre y 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 integrada de PowerShell Split para hacer esto. Hay otras funciones disponibles para que PowerShell analice una cadena de otras formas.

Comprensión de 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 secuencia de comandos por lotes de Windows y DOS, que también está disponible en la mayoría de las versiones de Windows.

Video del día

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 utilizando la función incorporada Separar 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 variables accediendo a los elementos individuales como $ a [0], $ a [1] y así sucesivamente o mantenerlos en la matriz si eso es más útil.

Dividir cadenas suele ser útil cuando necesita dividir la entrada del usuario o la salida de otro programa en sus partes 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 deseada 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 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 podar función. De forma predeterminada, eliminará los espacios en blanco del principio y el 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á el resultado "$ a".

Puede utilizar las funciones TrimStart y TrimEnd para eliminar solo caracteres del principio o 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 líneas nuevas al final.

La función de unión de PowerShell

Como en otros lenguajes de programación, PowerShell entrar función es esencialmente lo contrario de separar. Toma varias cadenas y las combina con un delimitador determinado o sin ningún espacio.

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