1

如何从字符串中删除所有连续重复的字母“p”。

例如,“happy purple kitten said pppplease”会变成“happy Purple kitten said please”

4

5 回答 5

7

您可以使用正则表达式完成此操作:

/pp+/

您可以使用 PHPpreg_replace()进行实际替换:

$str = preg_replace('/pp+/', 'p', $str);

这有效地表示采取任何p后跟“一个或多个p's”并将它们替换为单个p.

键盘示例。

于 2013-10-07T20:02:52.873 回答
1

您是否看过使用 preg_replace ( http://php.net/preg_replace )?

这是一个供您使用的示例:

<?php
$str = "happy purple kitten said pppplease";

$result = preg_replace('/pp+/', 'p', $str);

var_dump($str);
于 2013-10-07T20:03:41.123 回答
1
preg_replace( '/pp+/','p', $mystring );
于 2013-10-07T20:04:31.600 回答
1

此模式将所有重复的字符替换为一个:

<?php
$string = "happy purple kitten said pppplease";
echo preg_replace("/([a-z])(\\1+)/i", '\\1', $string);//hapy purple kiten said please

//for your case
echo preg_replace("/([p])(\\1+)/i", '\\1', $string);//hapy purple kitten said please
?>
于 2013-10-07T20:09:38.547 回答
0

您可以使用 str_replace 执行此操作,使用循环重复,直到所有 'pp' 字符串都被 'p' 替换,如下所示:

while( strpos($str, 'pp') !== FALSE ) {
  $str=str_replace('pp', 'p', $str);
}    
于 2013-10-07T20:05:19.860 回答