检查String是否包含两个或更多逗号并删除其他逗号

时间:2013-10-07 12:05:43

标签: php regex string replace comma

我在名为" alert"

的数据库列中跟踪字符串
$string = '1,2,,3,4,5,,,6';

我如何检查此字符串之间是否有两个或更多逗号,以及如何删除其他逗号以使字符串像这样;

$string = '1,2,3,4,5,6';

4 个答案:

答案 0 :(得分:3)

你应该使用正则表达式。

preg_replace('/,,+/', ',', $string);

如果你不熟悉正则表达式,你应该谷歌它。有大量的教程,一旦你熟悉它们,就可以将它们用于很多东西。

答案 1 :(得分:2)

使用此代码:

$string = '1,2,,3,4,5,,,6';
$arr=explode(",",$string);
$string=implode(",",array_filter($arr));

或,在一行

$string = implode(",",array_filter(explode(",",$string)));

答案 2 :(得分:0)

试试这个:

$text = '1,2,,3,4,5,,,6,,2,,1,,2,9';
$textArray = preg_split("/[,.]+/", $text);
$textArray = array_filter($textArray);
echo implode(",", $textArray);

Output:1,2,3,4,5,6,2,1,2,9

如果你想要唯一元素,那么第二行将是

$textArray = array_unique(preg_split("/[,.]+/", $text));

答案 3 :(得分:0)

这也可以,无需加载正则表达式引擎的开销。

$string = '1,2,,3,4,5,,,6';

do {
    $string = str_replace(',,', ',', $string, $count);
} while ( $count > 0 );

echo $string;

输出:

  1,2,3,4,5,6