Estoy tratando de desarrollar un algoritmo de python para comprobar si una cadena podría ser una abducción para otra palabra. Por ejemploCompruebe si una cadena es una posible abreviación para un nombre
fck
es un partido parafc kopenhavn
porque coincide con los primeros caracteres de la palabra.fhk
no coincidiría.fco
no debe coincidir confc kopenhavn
porque nadie irl podría abreviar FC Kopenhavn como FCO.irl
coincide conin real life
.ifk
corresponde conifk goteborg
.aik
coincide conallmanna idrottskluben
.aid
coincide conallmanna idrottsklubben
. Esta no es una verdadera abreviatura de nombre de equipo, pero creo que es difícil excluirla a menos que aplique conocimiento específico de dominio sobre cómo se forman las abreviaciones suecas.manu
corresponde conmanchester united
.
Es difícil describir las reglas exactas del algoritmo, pero espero que mis ejemplos muestren lo que estoy buscando.
Actualización Cometí un error al mostrar las cadenas con las letras coincidentes en mayúscula. En el escenario real, todas las letras son minúsculas, por lo que no es tan fácil como simplemente comprobar qué letras están en mayúscula.
¿Desea ver si la cadena coincide solo con las letras mayúsculas en esas cadenas? Si es así, intente escribir algo que haga eso: toma solo las letras mayúsculas de sus cosas completas y las pega en un diccionario (como las teclas con la versión completa como valores), y luego es fácil buscarlas. Tal como están las cosas, realmente no has hecho una pregunta ... –
Lo mejor que se me ocurre es extraer todas las letras mayúsculas, convertir la cadena corta a mayúsculas y luego hacer pruebas de igualdad. –
Semi-OT: ManU puede verse como un insulto para los fanáticos de ManUnited, aunque es ampliamente utilizado como abreviatura en países que no son ingleses. –