Búsqueda de sitios web

Cómo eliminar ceros a la izquierda en PowerShell (con ejemplos)


A menudo es posible que desee eliminar los ceros a la izquierda de las variables en PowerShell.

Puede utilizar los siguientes métodos para hacerlo:

Método 1: eliminar los ceros a la izquierda de la variable

$new_var = $my_var -replace '^0+', ''

Este ejemplo en particular elimina los ceros iniciales de la variable denominada $my_var y almacena los resultados en una nueva variable denominada $new_var.

Tenga en cuenta que ^ representa el inicio de una cadena en Regex y el + después del cero especifica que nos gustaría reemplazar todos los ceros iniciales con nada.

Método 2: eliminar los ceros iniciales de cada línea del archivo

(gc original_file.txt)| % {$_ -replace '^0+', ''} | sc new_file.txt

Este ejemplo en particular elimina los ceros iniciales de cada línea en el archivo llamado original_file.txt y almacena los resultados en un nuevo archivo llamado new_file.txt.

Tenga en cuenta lo siguiente:

  • gc es un alias para Get-Content
  • % es un alias para ForEach-Object
  • sc es un alias para Set-Content

Los siguientes ejemplos muestran cómo utilizar cada método en la práctica.

Ejemplo 1: eliminar ceros a la izquierda de una variable en PowerShell

Supongamos que tenemos una variable denominada $my_var en PowerShell que contiene el siguiente ID de empleado:

0000AAHB4

Podemos usar la siguiente sintaxis para crear una nueva variable llamada $new_var que elimina todos los ceros a la izquierda de este ID de empleado:

$my_var = '0000A0AHB4'
$new_var = $my_var -replace '^0+', ''

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que se han eliminado todos los ceros iniciales de la variable denominada $new_var.

Observe también que todos los ceros que no sean ceros a la izquierda se mantienen en la cadena.

Ejemplo 2: Eliminar los ceros iniciales de cada línea en un archivo en PowerShell

Supongamos que tenemos un archivo llamado employees.txt que contiene las identificaciones de varios empleados de alguna empresa.

Podemos utilizar el cmdlet Get-Content para ver cada una de las líneas de este archivo:

Observe que todos los valores de ID de empleado tienen ceros a la izquierda.

Podemos usar la siguiente sintaxis para eliminar los ceros iniciales de cada línea del archivo y guardar los resultados en un nuevo archivo llamado employees_new.txt:

(gc employees.txt)| % {$_ -replace '^0+', ''} | sc employees_new.txt

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Cuando usamos el cmdlet Get-Content para ver el contenido del nuevo archivo employees_new.txt podemos ver que el Se han eliminado los ceros iniciales de cada línea del archivo.

Artículos relacionados