Cita:
Empezado por roman
El problema empieza con las preposiciones y artículos, porque ahí ya estamos hablando de analizar palabras y no sólo caracteres. Esa parte ya me da flojera 
|
¿Es contagiosa? Porque no se si tu me contagiaste a mi o yo te contagié.

Ahora en serio,
Lo más fácil que se me ocurre es que una vez hecho las conversioes necesarias. Buscar en una lista de preposiciones y artículos posibles y por cada uno ir viendo si existe, y en caso de ser así reemplazar...
Algo como:
Código Delphi
[-]
Posic = Pos(ListaArticulo[i], Texto)
if Posic <> 0
then StringReplace(texto,Articulo,LowerCase(Texto), [rfReplaceAll])
El problema es que como bien puede verse... si hay algún de, la o algo por el estilo en el nombre (como Demetrio, Laura por mencionar algunos) el algoritmo falla.
esto se soluciona si se lleva simple pre-análisis:
Código Delphi
[-]if (Posic <> 0) AND (Texo[Posic - 1] = ' ')
Por ahora tengo eso. Lo escribí al vuelo, pero creo que se entiende más o menos la idea.
Saludos,