从字符串中删除随机空格

Remove random spaces in from a string

在我的文件上使用 pdftotext 后,有一个字段在字符之间有空格;具有人名值的字段。

大部分记录都没有问题,貌似一般姓都有这个问题;尽管名称的格式不同。出现此问题时通常使用大写字母。

清理这些名称的最佳 preg_match 或正则表达式解决方案是什么?它可能被一个字母关闭是可以接受的(例如,如果中间名首字母附加到姓氏;是否有可能以编程方式防止这种情况发生?)

返回值示例:

R U S E L L , 罗伯特 T
塞缪尔·丹尼斯
蒂米奥布莱恩

对于大写字母后跟 space 或行尾,找到这个:

([A-Z])( |$)

...并替换为:


...应该产生:

RUSSELL, Robert T
Samuel DENNIES
Timmy O' BRIEN

我不确定,但你可以试试这个:

$str = preg_replace("~[A-Z']\K ~", '', $str);