2016-01-18 59 views
1

我将删除首字母之间的空格,并保留初始和任何单词之间的空格。如何使用preg_replace删除字符串中的空格

我想得到这个结果。 A.J.P. A.J.P.简B.V.

反而我得到这个结果 A.J. P.简BV

$string = "A.J. P. Jane B. V."; 

$string = preg_replace('/\.\s\[A-z]{1}\./', '.', $string); 

echo $string; 
+0

的[要去除在PHP可变内空格]可能的复制(http://stackoverflow.com/questions/1279774/to-strip-whitespaces-inside-a-variable-in-php) –

回答

2

使用此规则\.\s([A-Z]{1})\.\.\s([A-Z])\.没有明确的限制 匹配[dot][space][letter][dot]
替换.$1.[dot][letter][dot]

$string = preg_replace('#\.\s([A-Z]{1})\.#', '.$1.', $string); 

echo $string; 

将ou tput的

A.J.P. Jane B.V. 
+0

嗨,谢谢。只有一个问题。之间有一个空间。 P. – user2635901

+0

我得到的输出就像我在答案中提到的那样,确保代码是一样的 –

+0

对不起,你是正确的,我正在尝试$ string =“A.J.P.Jane B.V.”;所以我有另一个方面需要解决。 – user2635901

0

试试这个,

$string = preg_replace('/\s+/', '', $string); 
+0

这不是他想要的结果! –

+1

删除了所有空间。它应该只删除一些。结果应该是A.J.P. Jane B.V. – user2635901

+0

查看Alex Andreis的回答 –