php - 删除彼此相邻的重复字符

标签 php string

<分区>

我正在尝试删除直接相邻的重复字符

1,2,3,4,5 - 有几个逗号但不会被删除 1,,2,,3,,4,,5 - 必须变成常规的 1,2,3,4,5 无论每个数字之间有多少个逗号我只想有一个。我有类似的东西确保字符串末尾没有逗号:

$n = "1,2,3,4,5";
for ($i=0;$i< strlen($n);$i++) {

    if (substr($n, -1) == ',') {
        $n = substr($n, 0, -1);
    }
}

在此问题上将不胜感激,

谢谢:)

最佳答案

看起来你只想用逗号来做这个,所以用 preg_replace 做起来非常容易:

$n = '1,2,,3,,,,,4,5';
$n = preg_replace('/,+/', ',', $n);     // $n == '1,2,3,4,5'

您还可以用 rtrim 替换上面提供的代码,确保字符串末尾没有逗号。 .它会更快更容易阅读:

$n = '1,2,3,4,5,,,,,'
rtrim($n, ',');                         // $n == '1,2,3,4,5'

您可以将它们组合成一个单行:

$n = preg_replace('/,+/', ',', rtrim($n, ','));

关于php - 删除彼此相邻的重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10342423/

相关文章:

php - 使用 SYmfony 在 PHP 中处理 "Undefined Index"

c# - 如何删除两个字符并从c#中的中间字符串替换

string - 查找字符串中某个字符的最后一个索引

php - 被连接覆盖的 ID 列

php - Zend_Auth setCredentialTreatment

php - 如何处理带有数组的对象以访问特定数据?

php - mysql查询在where子句中包含空值

string - 计算字符串中一个或多个子字符串的出现次数

arrays - 使用额外的单词连接字符串数组中的所有元素

javascript - 表行排序和字符串性能