FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Comparar cadenas y sacar su semejanza en %
Buenas.
Estoy haciendo una migración, resulta que tengo la mala suerte de que varias tablas tienen el mismo campo pero resulta que están algo alterados. Osea que dos campos aparentemente iguales, que tendrian que tener el mismo contenido lo tienen algo diferente, tienen acento o alguna barra etc... ¿Como podria hacer para comparar esos dos campos, y mediante una funcion me devuelva el % de similitud. Ejm: texto1= Garcia Leonidas Solomillero texto2= Garci a Leonidas-Solomilléro Pues que la funcion de marcase que hay un 85% de que ambos textos son coincidentes... Estoy probando con separar las palabras guardar su longitud y posicion y despues ir comparando una a una... pero vamos que por salir no me sale. Un empujoncin please??
__________________
....Debo confesar que nací a una edad muy temprana.... |
#2
|
||||
|
||||
Se me ocurre que puedes eliminar los símbolos "inutiles" ['\','-','.',' '] (incluyendo espacios), convertir la cadena en minúsculas y convertir todas las letras acentuadas a normales (á->a; é->e; ñ->n).
Con esto la verificacion será posible texto1='Garcia Leonidas Solomillero' -> garcialeonidassolomillero texto2='Garci a Leonidas-Solomilléro' -> garcialeonidassolomillero Nota; es necesario que decidas bien en qué momento eliminar el espacio para casos especiales. Saludos |
#3
|
||||
|
||||
Yo hice algo así hace un tiempo... si lo encuentro te lo envío.
- Pasa todo a mayúsculas (o minúsculas si lo prefieres) - Convierte algunas cosas: Ñ->N, vocales acentuadas a vocales, - Elimina todo lo que no sea una letra o un número o un espacio. - Elimina espacios dobles. (Gacia__jose = Garcia_Jose) En mi procedimiento : - comparaba primero si eran iguales. --> 100% - Luego comparaba cadenas de 5 caracteres - Luego de 4 - Luego de 3 Si había coincidencias daba más puntos Con esto JOSE GARCIA es muy parecido a GARCIA JOSE. |
#4
|
||||
|
||||
He estado planteando precisamente lo que me habeis expuesto,
limpiar ambos textos y despues compararlos insitu. Muchas gracias por la ayuda y por el empujón. Saludos
__________________
....Debo confesar que nací a una edad muy temprana.... |
#5
|
||||
|
||||
Estaba aburrido e hice esta funcion:
Las primeras comprobaciones devuelven de 100% a 94% y son simples. La segunda comprobación evalúa palabras y devuelva valores entre 0% 93% Duilio Juan, ISOLA HOMOLA - Original Duilio Juan, ISOLA HOMOLA - 100% ISOLA HOMOLA, Duilio Juan - 93% ISOLA HOMOLA, Duilio - 80% Isola, Duilio - 56% Isola, DuilioJuan - 10%
|
#6
|
||||
|
||||
He de expresar mi agradecimiento, pues la función es una obra de arte.
Ya tenía avanzada la idea original, pero no me queda mas remedio que quitarme el sombrero. Chapo!!! Gracias por tu tarde aburrida. Espero poder devolver algún dia tan magna función. Saludos PD: Yalastoy probando
__________________
....Debo confesar que nací a una edad muy temprana.... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Comparar dos cadenas de texto | creus | Varios | 5 | 06-03-2009 00:22:13 |
problemas para comparar 2 cadenas | spyfenix | OOP | 2 | 18-12-2007 17:44:48 |
Comparar 2 cadenas con diferentes formatos. | NSL94 | SQL | 6 | 21-09-2007 20:16:36 |
Comparar cadenas de un txt | francisco260184 | Varios | 1 | 10-04-2007 23:54:22 |
comando en sql para comparar cadenas | karla | SQL | 2 | 30-12-2006 22:55:12 |
|