从字符串中删除随机空格


Remove random spaces in from a string

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

大多数记录都很好,而且似乎通常姓氏有这个问题;尽管名称的格式不同。发生此问题时,它通常使用大写字母。

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

返回值示例:

罗伯特·塞缪尔·提米·

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

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

对于后跟空格或行尾的大写字母,找到以下内容:

([A-Z])( |$)

。并替换为:

$1

。这应该产生:

RUSSELL, Robert T
Samuel DENNIES
Timmy O' BRIEN