algorithm - 有没有人有好的 Proper Case 算法

标签 algorithm string

有没有人有可信的 Proper Case 或 PCase 算法(类似于 UCase 或 Upper)?我正在寻找采用诸如 "GEORGE BURDELL""george burdell" 之类的值并将其转换为 "George Burdell" .

我有一个简单的处理简单案例的方法。理想的是拥有可以处理诸如 "O'REILLY" 之类的东西并将其转换为 "O'Reilly",但我知道这更难。

如果可以简化事情,我主要关注英语。


更新:我使用 C# 作为语言,但我几乎可以从任何东西进行转换(假设存在类似的功能)。

我同意麦当劳的场景很艰难。我本来打算在我的 O'Reilly 示例中提到这一点,但没有在原始帖子中提及。

最佳答案

除非我误解了你的问题,否则我认为你不需要自己动手,TextInfo 类可以为你做。

using System.Globalization;

CultureInfo.InvariantCulture.TextInfo.ToTitleCase("GeOrGE bUrdEll")

将返回“George Burdell。如果涉及一些特殊规则,您可以使用自己的文化。

更新: Michael (在对此答案的评论中)指出,如果输入全部大写,这将不起作用,因为该方法将假定它是首字母缩写词。解决这个问题的简单方法是在将文本提交给 ToTitleCase 之前对文本执行 .ToLower()。

关于algorithm - 有没有人有好的 Proper Case 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32149/

相关文章:

javascript - AJAX无法加载URL

c 程序找到在交换条件下按升序排列 1-9 的 3x3 数组的最少交换数

algorithm - 最被低估或鲜为人知但有用的算法是什么?

algorithm - 开始时缓慢增加而结束时快速增加的数学函数

java - Java字符串的默认值: null vs ""

c - 在 C 中反转字符串

算法复杂度,求解递归方程

java - 判断一个三角形是不是钝角三角形

sql - 使用 Oracle INSTR 函数搜索多个字符串

python - 在python中获取url的特定部分