我想开发一个python算法来检查一个字符串是否可以作为另一个单词的缩写。例如,检查一个字符串是否可以缩写为一个名字
fck
是匹配fc kopenhavn
,因为它匹配单词的第一个字符。fhk
不匹配。fco
不应该匹配fc kopenhavn
因为没有人会将FC Kopenhavn简写为FCO。irl
是in real life
的匹配项。ifk
是匹配ifk goteborg
。aik
是匹配allmanna idrottskluben
。aid
是allmanna idrottsklubben
的匹配。这不是一个真正的团队名称缩写,但我想这很难排除它,除非您应用领域特定的知识如何形成瑞典缩写。manu
是manchester united
的匹配结果。
这是很难描述算法的精确规则,但我希望我的例子显示我后。
更新我犯了一个错误,显示匹配字母大写的字符串。在真实情况下,所有字母都是小写字母,因此不像检查哪些字母是大写字母那样容易。
所以你想看看字符串是否只匹配那些字符串中的大写字母?如果是这样,请尝试为它写一些东西:只需要把你的全部东西的大写字母和它们放在字典中(作为具有完整版本的键作为值),然后很容易查找它。事实上,你并没有真正问过一个问题...... –
我能想到的最好的事情是提取所有大写字母,将短字符串转换为大写,然后进行相等性测试。 –
Semi-OT:虽然ManU被广泛用作非英语国家的缩写,但ManU可以被视为对ManUnited粉丝的侮辱。 –