PowerShell: cómo extraer texto entre dos cadenas
Puede utilizar la siguiente sintaxis básica para extraer texto entre dos cadenas usando PowerShell:
[regex]::Match($original_string, '[^string1]+(?=string2)').Value
Este ejemplo en particular extrae el texto entre cadena1 y cadena2 dentro de la variable de cadena denominada original_string.
El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.
Ejemplo: Cómo extraer texto entre dos cadenas en PowerShell
Supongamos que tenemos la siguiente cadena:
- Su número de identificación: 004593Empleado
Y supongamos que nos gustaría extraer solo el texto entre los dos puntos ( : ) y la cadena Empleado para obtener el siguiente valor:
004593
Podemos utilizar la siguiente sintaxis para hacerlo:
$original_string = "His ID Number:004593Employee"
[regex]::Match($original_string, '[^:]+(?=Employee)').Value
La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Observe que solo podemos extraer el 004593 de la cadena, que representa todo el texto entre los dos puntos ( : ) y Empleado .
Si desea extraer el texto entre cadenas específicas varias veces, puede utilizar el método Matches.
Por ejemplo, supongamos que tenemos la siguiente cadena:
The ID Values are #004593Employee and #002321EmployeeY supongamos que nos gustaría extraer solo el número de cada ID de empleado para obtener lo siguiente:
- 004593
- 002321
Podemos utilizar la siguiente sintaxis para hacerlo:
$original_string = "The ID Values are #004593Employee and #002321Employee"
[regex]::Matches($original_string, '[^#]+(?=Employee)').Value
La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Tenga en cuenta que solo podemos extraer el número de cada ID de empleado para obtener lo siguiente:
- 004593
- 002321
Al utilizar el método Matches, podemos extraer todas las apariciones de texto entre dos cadenas específicas.

