Sustitución de cadenas en PowerShell
- Introducción a las cadenas de PowerShell
-
Use la función
replace()
en PowerShell -
Eliminar caracteres usando la función
replace()
en PowerShell -
Reemplace cadenas de múltiples instancias usando la función
replace()
en PowerShell - Usar el operador de reemplazo de PowerShell
- Quitar caracteres usando el operador de reemplazo en PowerShell
- Reemplazar cadenas de varias instancias con el operador Reemplazar 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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn