Php 删除字符串中的随机空格
在我的文件上使用pdftotext后,有一个字段在字符之间有空格;具有人名值的字段 大多数记录都很好,而且似乎通常姓氏都有这个问题;尽管名称的格式不同。出现此问题时,通常使用大写字母 清除这些名称的最佳preg_match或regex解决方案是什么?它可能被一个字母隔开是可以接受的(例如,如果中间的首字母被附加到姓氏后面;甚至可以通过编程防止这种情况发生吗?) 返回值的示例: R U S S E L L , Robert T Samuel D E N N I E S Timmy O ' B R I E N R U S E L,罗伯特T 塞缪尔·德恩尼斯 蒂米·奥伯里恩Php 删除字符串中的随机空格,php,regex,preg-match,data-cleaning,Php,Regex,Preg Match,Data Cleaning,在我的文件上使用pdftotext后,有一个字段在字符之间有空格;具有人名值的字段 大多数记录都很好,而且似乎通常姓氏都有这个问题;尽管名称的格式不同。出现此问题时,通常使用大写字母 清除这些名称的最佳preg_match或regex解决方案是什么?它可能被一个字母隔开是可以接受的(例如,如果中间的首字母被附加到姓氏后面;甚至可以通过编程防止这种情况发生吗?) 返回值的示例: R U S S E L L , Robert T Samuel D E N N I E S Timmy O ' B R
对于大写字母后跟空格或行尾,请查找以下内容:
([A-Z])( |$)
…并替换为:
$1
……应产生:
RUSSELL, Robert T
Samuel DENNIES
Timmy O' BRIEN
我不确定,但你可以试试这个:
$str = preg_replace("~[A-Z']\K ~", '', $str);
姓氏后跟逗号时,只有中间的首字母吗?到目前为止,这是正确的。我没有广泛的记录,所以在某个时候它可能包括一个完整的中间名。不幸的是,这是我从少数几个文件中得到的唯一信息