我有一堆人名。它们都是“西方”名字,我只需要美国的约定/缩写(例如,先生而不是 Sr. 代表 señor)。不幸的是,我要寄东西的人没有输入他们自己的名字,所以我不能问他们想叫什么名字。我知道每个人的性别和他们的全名,但还没有真正更具体地分析出来。
一些例子:
- 约翰·史密斯
- 小约翰·史密斯
- 小约翰·史密斯
- 约翰史密斯十四世
- 约翰史密斯博士,博士
我希望能够解析出每个名称的部分内容:
name = Name.new("John Smith Jr.")
name.first_name # <= John
name.greeting # <= Mr. Smith
如果我正在寻找“问候”(可能不是最好的术语),我想要的是 1-4,“史密斯先生”。对于 5,我想要 Smith 博士,但我会选择 Smith 先生。
一个 Ruby gem 将是理想的。我受到了 Chronic 的启发,想问一些奇怪的东西,这是一个 Ruby 宝石,它以一种非常人性化的方式处理时间,让我正确地告诉它“上周二”并让它想出一些明智的东西。”一些算法就足够了的角落案例。
我正在尝试处理程序员认为关于名称的谎言中提出的一些问题