我有一组人名。 它们是“西方”的名称,我只需要美国公约/缩略语(例如,主席先生,而不是S.S.先生)。 不幸的是,我寄来的东西的人没有输入他们自己的名字,因此,我可以问他们想要什么。 我知道每个人的性别及其全名,但并没有更具体地描述事情。
一些实例:
- John Smith
- John Smith, Jr.
- John Smith Jr.
- John Smith XIV
- Dr. John Smith, Ph.D.
我能够把每个名字的部分分开:
name = Name.new("John Smith Jr.")
name.first_name # <= John
name.greeting # <= Mr. Smith
如果我看着“游乐”的话(也许不是最好的术语),那么我在这里想要的是1-4年“史密斯先生”。 我祝愿史密斯博士发言。
A Ruby gem for this would be ideal. I was inspired to ask for something this strange by Chronic, a Ruby gem that handles time in a remarkably human way, letting me correctly tell it "last Tuesday" and having it come up with something sensible." Some algorithm would suffice that hits most of the corner cases.
I m试图处理。