我有正则表达式和PHP的小问题。 这就是我所拥有的:
8 Ball Script S Caps S S K
这就是我想要的:
8 Ball Script S Caps SSK
简而言之,我需要动态地纠正字符串中的每一次掠夺。无论在字符串中我能找到类似“A B R I V”的东西,它都需要删除空格“ABRIV”而不必拧紧字符串中的其他内容。所以我可以拥有一个类似“H I,Hello F O O World,我有B A C O N”之类的字符串应该成为“HI,你好FOO World,我有BACON”。
到目前为止,这是我的代码:
$string = preg_replace("/(?<= )[A-Z](?![a-z]).(?![A-Za-z]+[a-z])/", '$0', $string);
答案 0 :(得分:1)
这似乎可以做你想要的:
$s = preg_replace('~(?<![A-Za-z])([A-Z]) (?=[A-Z](?![A-Za-z]))~', '$1', $s);
<强> see a demo on ideone.com 强>