Eliminar el primer carácter de la cadena si es 0

2 minutos de lectura

avatar de usuario
Jings

Quiero eliminar el primer carácter de una cadena, si el primer carácter es un 0. El 0 puede estar allí más de una vez.

¿Existe una función simple que verifique el primer carácter y lo elimine si es 0?

En este momento, lo estoy intentando con el JS. slice() pero es muy incómodo.

avatar de usuario
Jattak01

Una solución simple es usar Javascript slice() método, y pasar 1 como parámetro

let str = "khattak01"
let resStr = str.slice(1)
console.log(resStr)

Resultado : hattak01

  • Funciona genial. Más, .substr es obsoleto.

    – Usuario 1058612

    4 abr a las 16:40

  • const pathnameStandardized = pathname.charAt(0) === ‘/’ ? ruta.slice(1) : ruta

    – justdvl

    hace 2 días

avatar de usuario
jave.web

El código muy legible es usar .substring() con un inicio establecido en el índice del segundo carácter (1) (el primer carácter tiene el índice 0). Segundo parámetro de la .substring() El método es en realidad opcional, por lo que ni siquiera necesita llamar .length()

TL; DR: elimine el primer carácter de la cadena:

str = str.substring(1);

…sí, es así de simple…

Eliminación de algunos caracteres en particular:

Como sugirió @Shaded, simplemente repite esto mientras el primer carácter de tu cadena es el carácter “no deseado” …

var yourString = "0000test";
var unwantedCharacter = "0";
//there is really no need for === check, since we use String's charAt()
while( yourString.charAt(0) == unwantedCharacter ) yourString = yourString.substring(1);
//yourString now contains "test"

.slice() contra .substring() contra .substr()

EDITAR: substr() no está estandarizado y no debe usarse para nuevos códigos JS, puede inclinarse por usarlo debido a la similitud de nombres con otros lenguajes, por ejemplo, PHP, pero incluso en PHP probablemente debería usar mb_substr() para estar seguro en el mundo moderno 🙂

Cita de (y más sobre eso en) ¿Cuál es la diferencia entre String.slice y String.substring?

También señala que si los parámetros para cortar son negativos, hacen referencia a la cadena desde el final. Subcadena y substr no.

avatar de usuario
Perno de fuerza

const string = '0My string';
const result = string.substring(1);
console.log(result);

Puedes usar el subcadena() función javascript.

La forma más fácil de quitar todo lo que lleva 0es:

var s = "00test";
s = s.replace(/^0+/, "");

Si solo se quita un solo líder 0 personaje, como implica la pregunta, podrías usar

s = s.replace(/^0/, "");

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad