php regex 如何删除重复的字符串

标签 php regex

这是一个长字符串,例如“abc,adbc,abcf,abc,adbc,abcf”

我想使用正则表达式删除以逗号分隔的重复字符串

以下是我的代码,但结果不是我期望的。

$a='abc,adbc,abcf,abc,adbc,abcf';
$b=preg_replace('/(,[^,]+,)(?=.*?\1)/',',',','.$a.',');
echo $b;

输出:,adbc,abc,adbc,abcf,

应该是:,abc,adbc,abcf,

请指出我的问题。谢谢。

最佳答案

这里我分享简单的 php 逻辑而不是正则表达式

$a='abc,adbc,abcf,abc,adbc,abcf';

$pieces = explode(",", $a);
$unique_values = array_unique($pieces);
$string = implode(",", $unique_values);

关于php regex 如何删除重复的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15378246/

相关文章:

php - 如何修复使用 PHP 计算纯文本字数的错误?

php - 使用 file_get_content 的发布请求不起作用

php - 匹配括号内的所有子字符串,但以黑名单单词开头的子字符串

javascript - 正则表达式替换为捕获的

php - 如何使用mysqli bind_result

php $_POST 变量作为 mysql 查询中的列名

java - 使用带小数的 string.split() - 不起作用

php - 按空格和冒号拆分字符串,但如果在引号内则不拆分

regex - 基于R中的点拆分文本

javascript - 替换javascript中所有出现的包含特殊字符的字符串