如何使用php删除字符串中的重复字符?
我正在做一个项目,这是清理与php文本。 假设我有这样的字符串: $string='生活就像。一盒巧克力//每个点用空格隔开 我如何获得这样的输出 $string='人生就像一盒巧克力'; 你可以用如何使用php删除字符串中的重复字符?,php,string,Php,String,我正在做一个项目,这是清理与php文本。 假设我有这样的字符串: $string='生活就像。一盒巧克力//每个点用空格隔开 我如何获得这样的输出 $string='人生就像一盒巧克力'; 你可以用 这不是一个容易的替代品吗 str_replace(". ", "", $text); 如果您的预期结果只是去除点和周围的空间,则可以使用,但要获得预期结果,您需要更复杂的正则表达式: echo preg_replace(array("/(?<!\w) *\. */", "/(?<=\w
这不是一个容易的替代品吗
str_replace(". ", "", $text);
如果您的预期结果只是去除点和周围的空间,则可以使用,但要获得预期结果,您需要更复杂的正则表达式:
echo preg_replace(array("/(?<!\w) *\. */", "/(?<=\w)\. */"), array("", " "), $string);
在这里,我使用两个正则表达式的数组来匹配两种不同的情况:
在0或更多空格后面和前面的点,所有空格前面都有一个不是字母或数字的字符\w在正则表达式中表示字母或数字,这是一个负查找。这被一个空字符串替换。
一个点,后跟0个或多个空格,前面有一个字母或数字。这被一个空格代替。
2是匹配并删除“like”中的点但是在单词后面留一个空格
这会给你预期的结果:“生活就像一盒巧克力”
您可以在网上查找教程的正则表达式的缩写regex上了解更多信息。使用str_replace并将点+空格替换为零。您的问题标题令人困惑。生命的产出应该是什么样的。一盒巧克力。,但是我不喜欢巧克力,哈哈?你所说的重复字符是什么意思?你想只删除点吗?请对问题本身进行进一步解释。不要把这些分散在评论部分,你确定吗?尝试使用测试。第二个作为输入字符串
echo preg_replace(array("/(?<!\w) *\. */", "/(?<=\w)\. */"), array("", " "), $string);