这是一个长字符串,例如“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/