将人员和地址数据库从ALL CAPS转换为Title Case将创建一些不正确大写的单词/名称,其中一些示例如下:
MacDonald,PhD,CPA,III
有没有人知道现有的脚本会清除所有常见的问题单词?当然,它仍然会留下一些错误(不太常见的名字与CamelCase一样的拼写,即“MacDonalz”)。
我认为这不重要,但数据目前存在于MSSQL中。由于这是一次性工作,如果解决方案需要,我会导出到文本。
有一个帖子提出了一个相关的问题,有时会触及这个问题,但没有具体解决这个问题。你可以在这里看到它:
答案 0 :(得分:2)
不知道这是否有任何帮助
private static function ucNames($surname) {
// ( O\' | \- | Ma?c | Fitz ) # attempt to match Irish, Scottish and double-barrelled surnames
$replaceValue = ucwords($surname);
return preg_replace('/
(?: ^ | \\b ) # assertion: beginning of string or a word boundary
( O\' | \- | Ma?c | Fitz ) # attempt to match Irish, Scottish and double-barrelled surnames
( [^\W\d_] ) # match next char; we exclude digits and _ from \w
/xe',
"'\$1' . strtoupper('\$2')",
$replaceValue);
}
这是一个简单的PHP函数,我用来设置姓氏来纠正适用于O'Connor,McDonald和MacBeth,FitzPatrick以及像Hedley-Smythe这样的双管名称的名称的案例
答案 1 :(得分:0)
以下是我要找的答案:
有一家数据公司Melissa Data发布了一些用于数据库清理的API和应用程序 - 主要针对直销行业。
我能够使用两个应用程序来解决我的问题。
以下是Melissa Data提供的解决方案的链接:
http://www.melissadata.com/dqt/index.htm
对我来说,Melissa Data应用程序完成了大量繁重工作,剩下的脏数据可通过报告LEFT x或RIGHT x计数在SQL中识别和修复 - 污垢通常具有最少的唯一性,易于发现的模式和固定的。