我正在提取数据,其提供的格式不是很整齐。例如,数据提供了以下内容:
但我想要做的就是删除重复单词的第二个(以及任何后续出现的),以便字符串看起来像:
到目前为止,我已经考虑过从字符串中生成一个单词数组,删除已经重复该单词的下一行,然后从数组行中重新构建字符串。有没有人有这样做的其他(更好的)想法?它是同步服务的一部分,已经非常耗费资源,因此使这个过程尽可能高效非常重要。
提前感谢任何想法。 Muchos Appreciatos! STE
答案 0 :(得分:2)
就像你说的那样:
function short($v) {
$v = trim(preg_replace('~\s+~', ' ', $v)); # just to clear extra spacing
$v = explode(' ', $v);
$v = array_unique($v);
return implode(' ', $v);
}
$v = 'Volkswagen Golf 2.0 TDI Golf Match';
echo short($v); # Volkswagen Golf 2.0 TDI Match
$v = ' Volkswagen Passat Passat SE ';
echo short($v); # Volkswagen Passat SE
答案 1 :(得分:0)
<?php
$arr = explode(' ', $str);
$arr = array_unique($arr);
$str = implode(' ', $arr);