Foros del Web » Programando para Internet » Javascript »

Extraer subcadena en principio desconocida

Estas en el tema de Extraer subcadena en principio desconocida en el foro de Javascript en Foros del Web. Hola a todos, veréis os cuento: Tengo una cadena de este pelo: principioXXXXfin Los caracteres de principio y fin los conozco, y lo que quiero ...
  #1 (permalink)  
Antiguo 07/01/2009, 10:01
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 3 meses
Puntos: 0
Extraer subcadena en principio desconocida

Hola a todos, veréis os cuento:

Tengo una cadena de este pelo: principioXXXXfin

Los caracteres de principio y fin los conozco, y lo que quiero es extraer lo que haya en XXXX en cada momento (ya que cambia con el tiempo).
Investigando un poco he llegado a la expresiones regulares, pero no encuentro ninguna función que me devuelva la cadena en sí. A lo máximo que he llegado es a la función search, pero sólo te dice en qué posición empieza la cadena que estoy buscando, y como es de longitud incierta pues tampoco me vale de nada. La función match tampoco me resuelve nada, bien porque no sirva bien porque no sé usarla.

¿Alguna sugerencia?
Un saludo.
  #2 (permalink)  
Antiguo 07/01/2009, 10:11
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Respuesta: Extraer subcadena en principio desconocida

Hola shoji

A ver si esto te sirve:

Código javascript:
Ver original
  1. cadena = 'principioXXXXfin';
  2. cadena = cadena.substr(0,9)+cadena.substr(cadena.lastIndexOf('fin'));

Saludos,
  #3 (permalink)  
Antiguo 07/01/2009, 10:12
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
Respuesta: Extraer subcadena en principio desconocida

Fijate si te sirve:
Código PHP:
<script>
var 
cad='principioXXXXfin';
alert(cad.substring(cad.indexOf('principio')+('principio').length,cad.indexOf('fin')))
</script> 
Edito: Buen choque
  #4 (permalink)  
Antiguo 07/01/2009, 10:18
Avatar de _eNGeLs_  
Fecha de Ingreso: noviembre-2007
Ubicación: CDE, Paraguay
Mensajes: 278
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: Extraer subcadena en principio desconocida

No entiendo mucho de expresiones regulares, pero creo con esto funcionara..

Código:
function extraer(texto)
{
      datos = texto.substr(9);       // 9 longitud de 'principio'
      datos2 = datos.replace("fin","");
      return datos2;
}

var datos = extraer("principioXXXXfin");
el resultado deberia ser "XXXX"

suerte!
__________________

  #5 (permalink)  
Antiguo 07/01/2009, 10:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Respuesta: Extraer subcadena en principio desconocida

Hola:

Por poner otra opción:

window.onload= function(){
c = "principioXXXfin";
alert(c.substring(9, c.length - 3))
}



Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 07/01/2009, 10:39
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Extraer subcadena en principio desconocida

Por poner otras opciones que no sean iguales:
Código javascript:
Ver original
  1. function extraer(cadena) {
  2.     return /principio(.+)fin/.exec(cadena)[1];
  3.  
  4. }
  5. alert(extraer("principioHolaHolafin"));

Puedes cambiar el (.+) según necesites validar lo que pueda o no contener la cadena que buscas. Y por supuesto puedes añadir comprobaciones para ver si realmente viene lo que buscas o no, etc.
  #7 (permalink)  
Antiguo 08/01/2009, 01:44
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Extraer subcadena en principio desconocida

3 hurras para todos los que contestasteis! me sirvíó, muchas gracias.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:59.