Foros del Web » Programando para Internet » Javascript »

todo lo común entre dos strings

Estas en el tema de todo lo común entre dos strings en el foro de Javascript en Foros del Web. Bueno, hoy quería retaros con un programita: Si tenemos dos cadenas, str1 y str2 quiero que una función me haga lo siguiente: "hola, soy un ...
  #1 (permalink)  
Antiguo 31/03/2007, 18:14
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
todo lo común entre dos strings

Bueno, hoy quería retaros con un programita:

Si tenemos dos cadenas, str1 y str2 quiero que una función me haga lo siguiente:
"hola, soy un perro y soy de color verde"
"qué tal, soy de color verde y soy un marciano"

Quiero que el programa me de las partes de la primera frase que se encuentren también en la segunda (palabras completas). La solución sería ésta:

", soy "
" un "
", y soy "
" soy de color verde"

Como se ve no se hacen subcadenas, es decir, "soy" no está porque está incluido en "soy de color verde" (además de en ", soy ").

De momento no le vamos a poner más exigencias. Me conformaría con ir sacando una función que imprimiera lo común, aunque esté repetido:
"hola, soy un perro y soy de color verde"
"qué tal, soy de color verde y soy un marciano"

", soy "
"soy"
"un"
", y soy "
"y"
" soy de color verde"
"de"
"color"
"verde"



Admito que ni siquiera he intentado el programa, no sé por dónde abordarlo todavía, sería matar moscas a cañonazos.


Quien se atreva será bien recibido.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #2 (permalink)  
Antiguo 31/03/2007, 23:14
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: todo lo común entre dos strings

Bueno, pues aqui va una parte, pero esta por arrays, por ende no muestra por ej el ", soy", espero de algo sirva..

<script>
var a = "hola, soy un perro y soy de color verde";
var b = "qué tal, soy de color verde y soy un marciano";
var c;
var d;
var e;
e="";
c = a.split(" ");
d = b.split(" ");
for(i=0;i<d.length;i++)
{
for(ii=0;ii<c.length;ii++)
{
if(d[i]==c[ii]){ e = e+"<br>"+d[i];
}
}
}
document.write(e);
</script>
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #3 (permalink)  
Antiguo 01/04/2007, 05:48
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: todo lo común entre dos strings

Gracias por contestar El Patrón, no está mal. Ya se me había ocurrido. Pero el mayor problema que le veo es encontrar por ejemplo " soy de color verde".

Creo que va a ser un pelín más complicado que eso... quizás haya que utilizar recursiones etc..
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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:05.