我有一堆人的名字。他们都是“西方”的名字,我只需要美国的公约/缩写(例如先生,而不是老先生)。不幸的是,我送的东西没有输入自己的名字,所以我不能问他们想要叫什么。我知道每个人的性别和他们的全名,但没有更具体地解析事情。人名称解析
一些例子:
- 约翰·史密斯
- 约翰·史密斯,小
- 约翰·史密斯小
- 约翰·史密斯十四
- 约翰·史密斯博士,博士
我希望能够分析出每个名字的部分:
name = Name.new("John Smith Jr.")
name.first_name # <= John
name.greeting # <= Mr. Smith
如果我在寻找“问候语”(可能不是最好的术语),我想在这里是,1-4,“史密斯先生”。 5,我想史密斯博士,但我会为史密斯先生解决。
Ruby的创业板,这将是理想的。我受到启发,想要什么东西这个奇怪的慢性,即处理时间的显着人类的方式,让我正确地告诉它“上周二”和具有红宝石宝石它拿出一些明智的。”一些算法就足够了命中最角落的情况。
我想处理一些在falsehoods programmers believe about names
这给了我一个将自己的图书馆写入DWIW的非常好的起点。接受答案。 – Hut8