编程中人名的大写

发布于 2024-08-26 07:33:18 字数 1727 浏览 8 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

知你几分 2024-09-02 07:33:18

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

The only sensible way to handle it, in my opinion, is to let the users tell you how their name should be capitalized. Any automatic scheme is going to annoy someone.

暖阳 2024-09-02 07:33:18

只要告诉他们你是老派。这使得它变得简单且 100% 正确:

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

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

Just tell them you're OLD SCHOOL. That makes it simple and 100% correct:

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

The same logic also helps with many i18n problems.

如痴如狂 2024-09-02 07:33:18

还有 Python 中的此实现 基于此算法。基本思想是将名称转换为标题大小写,然后根据巨大的异常查找表检查名称。

但乔纳森·莱弗勒 (Jonathan Leffler) 所说的确实是正确的:除非您有转换预先存在的未格式化数据的要求,否则自动大写将会出现错误(特别是因为大写规则因语言鸿沟、文化鸿沟、因移民而导致的姓名更​​改而异)或者人们只是喜欢以某种特定的方式大写他们的名字)。

There's also this implementation in Python which is based on this algorithm. The basic idea is convert the name to title case then check the name against a giant look-up table of exceptions.

But really what Jonathan Leffler said is spot on: unless you have some requirement to convert pre-existing unformatted data, automated capitalization is going to do something wrong (especially as capitalization rules vary across language divides, cultural divides, name changes that result from emigration or people just preferring to capitalize their name in some particular fashion).

苏佲洛 2024-09-02 07:33:18

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

I kept a lookup of names that needed special handling. When a case-insensitive match was found, I used the lookup value. This did not resolve people who used case that did not match the "accepted" capitalization. It allowed me/user to add names as needed. I can't find my code, but I did get the surnames from http://www.census.gov/.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文