PowerShell: Cómo extraer una subcadena antes de un carácter específico
Puede utilizar la siguiente sintaxis básica para extraer la subcadena antes de un carácter específico en PowerShell:
$findchar = $my_string.IndexOf(" ")
$substring_before = $my_string.Substring(0, $findchar)
Este ejemplo en particular extrae la subcadena almacenada en la variable denominada $my_string que aparece antes del espacio.
La subcadena resultante se almacena en una variable denominada $substring_before.
El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.
Ejemplo: Cómo extraer una subcadena antes de un carácter específico en PowerShell
Supongamos que tenemos la siguiente cadena que se utiliza como ID de empleado:
00343HAAD Matthew
Y supongamos que nos gustaría extraer sólo el texto antes del espacio en el ID del empleado para obtener la siguiente subcadena:
00343HAAD Podemos utilizar la siguiente sintaxis para hacerlo:
$my_string = "00343HAAD Matthew"
$findchar = $my_string.IndexOf(" ")
$substring_before = $my_string.Substring(0, $findchar)
La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Observe que esto devuelve 00343HAAD, que representa la subcadena completa que aparece antes del espacio.
Cómo funciona esta sintaxis
Recuerde la sintaxis que usamos para extraer la subcadena antes del espacio:
$findchar = $my_string.IndexOf(" ")
$substring_before = $my_string.Substring(0, $findchar)Primero, utilizamos el método IndexOf() para encontrar la posición del espacio en la cadena.
En la cadena 00343HAAD Matthew esto devuelve una posición de 9.
A continuación, utilizamos el método Substring() para devolver la subcadena entre las posiciones 0 y 9 en la cadena original.
Esta subcadena resultó ser 00343HAAD.
Nota: Para devolver una subcadena que aparece antes de un delimitador diferente, simplemente especifique ese delimitador en el método IndexOf().
