PowerShell: dividir cadena en variables [3 formas]
Usando el método Split()
Utilice el método Split() para dividir la cadena dada en dos variables.
Utilice Split() para dividir una cadena en dos variables:
$string = "This is a sample string"
$var1_string, $var2_string = $string.Split(" ", 2)
$var1_string
$var2_stringPRODUCCIÓN :
This
is a sample stringEl método Split() se utiliza para dividir la cadena especificada en dos o múltiples variables y una matriz de subcadenas. En el código de ejemplo anterior, el método Split() tomó dos argumentos, espacios en blanco como separador (puede usar -, ., ,, :, o cualquier otra cosa) y 2 como el número máximo de subcadenas después de la división.
Este método divide la $string donde encuentra la primera aparición del separador especificado (espacio en blanco en este caso) y almacena la primera subcadena en $var1_string y la segunda subcadena en < código>$var2_string variables. De manera similar, podemos usar este método para dividir $string en múltiples variables.
Utilice el método Split() para dividir la cadena dada en múltiples variables.
Utilice Split() para dividir una cadena en varias variables:
$string = "This is a sample string"
$var1_string, $var2_string, $var3_string = $string.Split(" ", 3)
$var1_string
$var2_string
$var3_stringPRODUCCIÓN :
This
is
a sample stringPara este ejemplo, el método Split() tomó espacios en blanco como separador y 3 como el número máximo de subcadenas después de la división. Aquí, $string se dividirá en la primera y segunda aparición del separador especificado y guardará la primera, segunda y tercera subcadenas en $var1_string, . variables $var2_string y $var3_string. Tenga en cuenta que estas tres variables son del tipo de datos String. Puede encadenar el método GetType() como $var2_string.GetType() para recuperar el tipo de datos de la variable especificada.
Utilice el método Split() para dividir la cadena dada en una matriz de subcadenas.
Utilice Split() para dividir una cadena en una matriz de subcadenas:
$string = "This is a sample string"
$Array = $string.Split(" ")
$ArrayPRODUCCIÓN :
This
is
a
sample
stringEn este bloque de código, el método Split() aceptó solo un argumento: un separador y dividió la $string donde encontró la coincidencia. En este caso, el método Split() devolvió una matriz de subcadenas. Tenga en cuenta que podemos usar $string.Split() en lugar de $string.Split(" "), ambos son equivalentes porque el separador predeterminado es el espacio en blanco (tabulación/nueva línea /espacio).
Recuerde, el método Split() distingue entre mayúsculas y minúsculas, lo que significa que las letras S y s serán diferentes. Vea los siguientes ejemplos para comprenderlo.
Utilice Split() para dividir una cadena en una matriz de subcadenas:
$string = "This is a Sample string"
$string.Split("S", 2)PRODUCCIÓN :
This is a
ample stringComo podemos ver, el método Split() solo divide la $string donde encuentra la letra S mayúscula e ignora la minúscula. s. Por lo tanto, si debemos ignorar las letras minúsculas/mayúsculas, debemos usar el operador -Split, que se demuestra con ejemplos de código en la siguiente sección.
El método Split() siempre devuelve una matriz de subcadenas. Depende de nosotros cómo los afrontemos. Por ejemplo, si dividimos la cadena y guardamos subcadenas en dos o más variables, cada variable contendrá un valor de tipo cadena. Por otro lado, si guardamos las subcadenas resultantes en una variable, se tratará como una matriz de valores de cadena.
Usando el operador -Split
Utilice el operador -Split para dividir la cadena dada en dos variables.
Utilice -Split para dividir una cadena en dos variables:
$string = "This is a sample string"
$var1_string, $var2_string = $string -Split " ", 2
$var1_string
$var2_stringPRODUCCIÓN :
This
is a sample stringAquí, utilizamos el operador -Split con dos argumentos, un separador y el número máximo de subcadenas, para dividir la cadena especificada en dos variables. Funciona como el método Split() que aprendimos en la sección anterior pero nos permite hacer algunas cosas adicionales; por ejemplo, podemos usar un bloque de script, especificar condiciones usando opciones como IgnoreCase, etc., que aprenderemos más adelante en este artículo.
Utilice el operador -Split para dividir la cadena dada en múltiples variables.
Utilice -Split para dividir una cadena en varias variables:
$string = "This is a sample string"
$var1_string, $var2_string, $var3_string = $string -Split " ", 3
$var1_string
$var2_string
$var3_string
PRODUCCIÓN :
This
is
a sample stringEste código es similar al ejemplo anterior, pero dividimos $string en tres variables donde cada variable ($var1_string, $var2_string y $var3_string) es del tipo de datos String.
Utilice el operador -Split para dividir la cadena dada en una matriz de subcadenas.
Utilice -Split para dividir una cadena en una matriz de subcadenas:
$string = "This is a sample string"
$Array = $string -Split " "
$ArrayPRODUCCIÓN :
This
is
a
sample
stringPara el código anterior, utilizamos el operador -Split para dividir toda la $string según el separador (delimitador) especificado. También podemos sustituir -cSplit o -iSplit por el operador -Split en cualquier declaración de división binaria (una declaración de división que incluye un bloque de script o un delimitador).
Aquí, -Split y -iSplit no distinguen entre mayúsculas y minúsculas, mientras que -cSplit distingue entre mayúsculas y minúsculas, lo que significa que el caso se considerará al aplicar las reglas delimitadoras (reglas separadoras). Vea el siguiente ejemplo.
Utilice los operadores -Split y -iSplit:
$string = "This is a Sample string"
$var1, $var2 = $string -Split "s", 2
$var1, $var2
$var1, $var2 = $string -iSplit "S", 2
$var1, $var2PRODUCCIÓN :
Thi
is a Sample string
Thi
is a Sample stringMira, obtuvimos los mismos resultados al usar -Split y -iSplit porque ambos son operadores que no distinguen entre mayúsculas y minúsculas, mientras que -cSplit se encarga de los operadores inferiores. /mayúsculas al aplicar reglas de separación. Vea el siguiente ejemplo.
Utilice el operador -cSplit:
$string = "This is a Sample string"
$var1, $var2 = $string -cSplit "s", 2
$var1, $var2
$var1, $var2 = $string -cSplit "S", 2
$var1, $var2PRODUCCIÓN :
Thi
is a Sample string
This is a
ample stringAquí usamos -cSplit dos veces. Primero, se dividió cuando encontró s; en segundo lugar, se dividió cuando encontró S. Supongamos una situación en la que está obligado a utilizar el operador -cSplit pero debe ignorar el caso. En esa situación, las Opciones entran en escena. Consulte el siguiente ejemplo para ignorar las mayúsculas y minúsculas mientras utiliza el operador -cSplit.
Utilice el operador -cSplit:
$string = "This is a Sample string"
$var1, $var2 = $string -cSplit "s", 2, "IgnoreCase"
$var1, $var2
$var1, $var2 = $string -cSplit "S", 2, "IgnoreCase"
$var1, $var2PRODUCCIÓN :
Thi
is a Sample string
Thi
is a Sample stringAquí, a -cSplit no le importan las mayúsculas/minúsculas cuando se usa con la opción IgnoreCase, que es parte de SimpleMatch. Ahora bien, ¿tenemos también otras opciones? Sí, lo hacemos. Las opciones SimpleMatch incluyen IgnoreCase y SimpleMatch.
Mientras que las opciones RegexMatch incluyen IgnoreCase, RegexMatch, ExplicitCapture, CultureInvariant, IgnorePatternWhitespace, Multiline y Singleline, puede encontrar una descripción detallada de cada uno de ellos aquí.
Utilice el operador -Split con el bloque de secuencia de comandos para dividir la cadena dada en una matriz de subcadenas.
Utilice el operador -Split con ScriptBlock:
$string = "This is a Sample string"
$Array = $string -Split {$_ -eq "s" -or $_ -eq "p"}
$ArrayPRODUCCIÓN :
Thi
i
a
am
le
tringAquí, utilizamos un bloque de script representado con {}, que especificaba dos condiciones y verificamos si el carácter actual es igual a s o p. . Usamos el operador -eq para verificar la igualdad mientras que el operador -or realizaba la operación OR. La operación OR da como resultado true si al menos una condición es true. Tenga en cuenta que el operador -Split solo divide la $string si el bloque de script devuelve true.
Usando el bucle ForEach
Utilice el bucle ForEach para dividir la cadena dada en una matriz de subcadenas.
Utilice para cada bucle:
$string = "This is a Sample string"
$Array = $string | foreach split " "
$ArrayPRODUCCIÓN :
This
is
a
Sample
stringAquí, utilizamos el bucle ForEach (también conocido como instrucción ForEach) para iterar sobre el objeto de tipo String, que es $cadena. Cada iteración divide la cadena donde se encontró el delimitador especificado y devuelve una matriz de subcadenas.
Se trata de cómo dividir cadenas en variables en PowerShell.
