Sustitución de cadenas en PowerShell

  1. Introducción a las cadenas de PowerShell
  2. Use la función replace() en PowerShell
  3. Eliminar caracteres usando la función replace() en PowerShell
  4. Reemplace cadenas de múltiples instancias usando la función replace() en PowerShell
  5. Usar el operador de reemplazo de PowerShell
  6. Quitar caracteres usando el operador de reemplazo en PowerShell
  7. Reemplazar cadenas de varias instancias con el operador Reemplazar en PowerShell
Sustitución de cadenas en PowerShell

PowerShell puede funcionar con cadenas y texto como muchos idiomas. Una de esas características valiosas es usar PowerShell para reemplazar caracteres, cadenas o texto dentro de los archivos.

Este artículo discutirá el método replace() de PowerShell y el operador de reemplazo de PowerShell.

Introducción a las cadenas de PowerShell

Uno de los casos más sencillos de usar PowerShell es reemplazar caracteres en cadenas. Digamos que tenemos una cadena de PowerShell con un valor “hola, mundo”.

Código de ejemplo:

$string = 'hello, world'

Queremos reemplazar la cadena hola dentro de esa variable con la cadena hola para cambiar la variable $cadena para que tenga un valor final de hola, mundo.

Para hacer esto, PowerShell primero debe averiguar dónde encontrar el texto específico para reemplazar y, una vez que lo encuentra, reemplaza el texto con un valor de variable personalizado definido por el usuario.

Use la función replace() en PowerShell

Una de las formas convenientes de reemplazar cadenas en Windows PowerShell es usar la función replace(), como se muestra a continuación. La función replace() tiene dos argumentos, la cadena para buscar y la cadena para reemplazar el texto encontrado.

Como podemos ver a continuación, Windows PowerShell encuentra la cadena hola y la reemplaza con la cadena hola. Luego, el método devuelve el resultado final, hola, mundo.

Código de ejemplo:

$string.replace('hello','hi')

Producción :

hi, world

Podemos llamar al método replace() en cualquier cadena para reemplazar cualquier cadena literal con otra. El método replace() no devuelve nada si no se encuentra la cadena a reemplazar.

Vale la pena señalar que no necesitamos asignar una cadena a una variable para reemplazar el texto en una cadena. En su lugar, podemos invocar el método replace() directamente en la cadena como: 'hola mundo'.replace('hola','hola').

Eliminar caracteres usando la función replace() en PowerShell

Tal vez queramos eliminar caracteres de una cadena de otra cadena en lugar de reemplazarlos con otra cosa. También podemos hacer eso especificando una cadena vacía.

Código de ejemplo:

$string.replace('hello','')

Producción :

, world

Reemplace cadenas de múltiples instancias usando la función replace() en PowerShell

Dado que la función replace() devuelve una cadena, para reemplazar otra instancia, puede agregar otra llamada a la función replace() al final. Luego, Windows PowerShell invoca el método replace() en la salida original.

Código de ejemplo:

$string.replace('hello','').replace('world','globe')

Producción :

, globe

Podemos encadenar tantas llamadas a la función replace() como sea necesario, pero deberíamos considerar usar el operador replace si tenemos muchas cadenas para reemplazar.

Usar el operador de reemplazo de PowerShell

También podemos usar el operador -replace de Windows PowerShell para reemplazar un texto. El operador -reemplazar tiene un método similar.

Proporcionamos una cadena para buscar y reemplazar. Usando el ejemplo anterior, podemos usar el operador de reemplazo para reemplazar hola con hola de manera similar, como se muestra a continuación.

Código de ejemplo:

$string -replace 'hello','hi'

Producción :

hi, world

Quitar caracteres usando el operador de reemplazo en PowerShell

Al igual que la función replace(), también puede eliminar caracteres de una cadena utilizando el operador de reemplazo. Pero, a diferencia del método replace(), también puede excluir por completo la cadena como argumento para reemplazar, y descubrirá el mismo efecto.

Código de ejemplo:

$string -replace 'hello',''

Producción :

, world

Reemplazar cadenas de varias instancias con el operador Reemplazar en PowerShell

Al igual que el método replace(), también puede encadenar usos del operador reemplazar. Sin embargo, dado que el operador de reemplazo devuelve una cadena, como se muestra a continuación.

Código de ejemplo:

$string -replace 'hello','hi' -replace 'world','globe'

Producción :

hi, globe
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artículo relacionado - PowerShell String