编程中人名的大写

时间:2010-03-17 23:44:55

标签: database oracle rules capitalization

是否有人知道如何正确地将人名大写的一些代码/规则?

  • John Smith
  • Johan van Rensburg
  • Derrick von Gogh
  • Ruby de La Fuente
  • Peter Maclaurin
  • Garry McDonald

(这些可能不正确,只是一些样本名称以及大写可以如何/工作)

这似乎是一场失败的战斗......

如果有人有关于何时以及如何将名称大写的一些代码或规则,请告诉我:)

干杯, 阿尔伯特

6 个答案:

答案 0 :(得分:19)

在我看来,处理它的唯一合理方法是让用户告诉你他们的名字应该如何大写。任何自动计划都会惹恼某人。

答案 1 :(得分:7)

告诉他们你是老学校。这使得它变得简单并且100%正确:

- JOHN SMITH
- JOHAN VAN RENSBURG
- DERRICK VON GOGH
- RUBY DE LA FUENTE
- PETER MACLAURIN
- GARRY MCDONALD

同样的逻辑也有助于解决许多问题。

答案 2 :(得分:6)

维基百科似乎对此有了不错的报道:

Capitalization - Compound names

答案 3 :(得分:3)

我不确定Ruby是否有用,但你可能想看看NameCase。即使您不使用Ruby,也可以将此(它的开源)移植到您的语言中。

答案 4 :(得分:2)

还有this implementation in Python基于this algorithm。基本思路是将名称转换为标题大小写,然后根据异常的巨型查找表检查名称。

但实际上Jonathan Leffler所说的是:除非你有一些要求转换预先存在的无格式数据,否则自动大写将会做错事(特别是因为资本化规则因语言划分,文化差异,名称变化而异移民造成的,或者人们只是喜欢以某种特定的方式利用他们的名字。)

答案 5 :(得分:1)

我查找了需要特殊处理的名字。找到不区分大小写的匹配项时,我使用了查找值。这并不能解决使用与“已接受”大小写不符的案例的人。它允许我/用户根据需要添加名称。我找不到我的代码,但我确实从http://www.census.gov/得到了姓氏。