如何使用PHP删除字符串中的重复字符?

时间:2019-05-20 10:45:09

标签: php string

我正在做一个使用php清除文本的项目。 说我有这样的字符串:

$string = 'Life is like. . . . . . a box of chocolate. . . . . '; //each dot separated by space

我如何获得

之类的输出
$string ='Life is like a box of chocolate';

3 个答案:

答案 0 :(得分:0)

您可以使用preg_replace

$string = 'Life is like. . . . . . a box of chocolate. . . . . ';
echo preg_replace('/[.,]/', '', $string);

答案 1 :(得分:0)

如果您的预期结果只是去除点和周围的空间,则可以使用preg_replace,但是要获得预期结果,您需要更复杂的正则表达式:

echo preg_replace(array("/(?<!\w) *\. */", "/(?<=\w)\. */"), array("", " "), $string);

在这里,我使用两个正则表达式组成的数组来匹配两种不同的情况:

  1. 一个点,其后跟0或多个空格,且所有后跟一个不是字母或数字的字符(正则表达式中的\w表示字母或数字,这是一个负数)。这将替换为空字符串。
  2. 一个点,后跟0个或多个空格,并以字母或数字开头。用空格代替。

2是为了匹配并删除'like. '中的点,但在单词后留一个空格。

这给出了预期的结果:'Life is like a box of chocolate'

您可以了解有关正则表达式(正则表达式的简称)的更多信息,以查找网络上的教程。

答案 2 :(得分:-1)

这不是一个简单的str_replace()吗?

str_replace(". ", "", $text);