Foros del Web » Programando para Internet » Javascript »

otra de expresiones... como eliminar los CEROS por delente de una cadena?

Estas en el tema de otra de expresiones... como eliminar los CEROS por delente de una cadena? en el foro de Javascript en Foros del Web. loading.............. Les aseguro que estoy estudiando mucho expresiones regulares :( pero no hay tiempo para mas asi que alguien pudiese ayudarme en esto? dado "0000545454" ...
  #1 (permalink)  
Antiguo 07/02/2007, 18:03
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
otra de expresiones... como eliminar los CEROS por delente de una cadena?

loading..............


Les aseguro que estoy estudiando mucho expresiones regulares :( pero no hay tiempo para mas asi que alguien pudiese ayudarme en esto?

dado "0000545454"

eliminar los ceros que tiene por delante x(
gracias por todo.

connection closed.
__________________

Maborak Technologies
  #2 (permalink)  
Antiguo 07/02/2007, 19:06
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

<script>
alert(Math.floor('0000545454'));
</script>

Última edición por Panino5001; 07/02/2007 a las 19:10 Razón: error
  #3 (permalink)  
Antiguo 07/02/2007, 22:09
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

Hola:

Bueno, con expresiones regulares sería:

'0000545454'.replace(/^0*/, '')

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 07/02/2007, 22:51
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

O, como me enseñó el gran maestro caricatos , la opción recursiva:
Código:
<script>
function quitacero(n){
if(n.substr(0,1)=='0')return quitacero(n.substr(1))
alert(n)
}
quitacero('0000545454')
</script>

Última edición por Panino5001; 07/02/2007 a las 22:58
  #5 (permalink)  
Antiguo 08/02/2007, 07:09
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

Al opción recursiva no es que sea la mejor opcion en cuestion de rendimiento
  #6 (permalink)  
Antiguo 08/02/2007, 07:24
Avatar de mape367  
Fecha de Ingreso: noviembre-2004
Ubicación: CDE, Paraguay
Mensajes: 213
Antigüedad: 19 años, 5 meses
Puntos: 3
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

Buenas,

Tambien puedes usar:
Código HTML:
alert(Math.abs('0000545454'));

Saludos
  #7 (permalink)  
Antiguo 08/02/2007, 09:50
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

Hola:

Usar un método recursivo para pocos niveles de recursión... académicamente es una opción buenísima... pero sin dudas no es el mejor sistema...

Sobre el uso de Math... la pregunta se hace sobre un texto (alfanumérico)... y aunque el resultado pueda ser correcto, habría (para ser más correcto) que usar la coletilla "toString()".

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 08/02/2007, 10:24
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

Hola, caricatos, cómo se usaría toString en ese caso? imagino que cadena.prototype.toString=function(){...}
Otra cosa, tengo entendido que las expresiones regulares usan recursividad para obtener resultados, en ese caso serían igualmente ineficientes.
No sé porqué tanto problema con la recursividad, hay cosas que no podrían resolverse sin su uso: backtracking, dancing links, etc.

Última edición por Panino5001; 08/02/2007 a las 10:30
  #9 (permalink)  
Antiguo 08/02/2007, 10:45
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

No es que haya problemas con la recursividad, pero si hay metodos ya implementados que te solucionan tu problemas, seguramente serán mas eficientes!

Nadie duda que la recursión sea buena en bastantes casos.


Saludos.
  #10 (permalink)  
Antiguo 08/02/2007, 11:08
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

loading....................

muchisimas gracias en verdad, todos funcionaron


connection closed.
__________________

Maborak Technologies
  #11 (permalink)  
Antiguo 08/02/2007, 11:31
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

Cita:
Iniciado por wigglyUtrera Ver Mensaje
No es que haya problemas con la recursividad, pero si hay metodos ya implementados que te solucionan tu problemas, seguramente serán mas eficientes!

Nadie duda que la recursión sea buena en bastantes casos.


Saludos.
A veces nos manejamos con preconceptos o basados en cosas que nos dicen.
Estos son los resultados de tiempos que obtuve con uno y otro método de trabajo para este caso en particular:
Recursividad:
IE:
545454
La página fue creada en 0.000155925750732 segundos
Firefox:
545454
La página fue creada en 0.000167846679688 segundos
--------------------------------------------------------------------------
Regexp
IE:
545454
La página fue creada en 0.000253915786743 segundos
Firefox:
545454
La página fue creada en 0.000218868255615 segundos
  #12 (permalink)  
Antiguo 08/02/2007, 17:28
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

Panino5001

Estos son mis resultados:

Con la funcion recursiva:
Tiempo de carga: 4,10469*10^(-5) segundos

Con Math.abs('0000545454'):
Tiempo de carga: 3,71932*10^(-5) segundos

Con Math.floor('0000545454'):
Tiempo de carga: 4.1008*10^(-5) segundos

Estos datos han sido obtenidos en Firefox 2.0


Saludos.
  #13 (permalink)  
Antiguo 08/02/2007, 18:03
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: otra de expresiones... como eliminar los CEROS por delente de una cadena?

Hola:

El tema ha derivado a hacer calculos de tiempos, pero son muy poco fiables si no se hacen con cierto rigor... sería necesario un amplio muestreo y de todos modos solo sería importamte si se tratase de una instrucción que se usase mucho...

Lo más importante es que parece que el tema está resuelto.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:55.