当元素中有空格时,从逗号分隔的字符串中删除重复项

时间:2017-03-18 22:02:08

标签: php

我在这个问题上找到了答案:remove duplicates from comma separated string 但是,当每个分隔符后面的字符串和/或空格中有空格时,它不会回答删除重复项的最佳方法。

所以我有这个字符串:

Yogurt (Milk), Strawberries (11%), Sugar, Water, Stabilisers: Pectins, Guar Gum, Flavourings, Acidity Regulator: Citric Acid, Yogurt (Milk), Peach (9%), Sugar, Water, Apricot (3%), Stabilisers: Pectins, Guar Gum, Acidity Regulator: Citric Acid, Flavourings

删除我使用此代码的重复项:

$str = implode(',',array_unique(explode(',', $str)));

但它不能作为字符串中的第一个元素在开头没有空格。

最好的办法是什么?

2 个答案:

答案 0 :(得分:1)

这可能会对您有所帮助:


    $str = "Yogurt (Milk), Strawberries (11%), Sugar, Water, Stabilisers: Pectins, Guar Gum, Flavourings, Acidity Regulator: Citric Acid, Yogurt (Milk), Peach (9%), Sugar, Water, Apricot (3%), Stabilisers: Pectins, Guar Gum, Acidity Regulator: Citric Acid, Flavourings";

    $new_str = array_unique(array_map('trim', explode(',', $str)));
    $string = implode(',', $new_str);

    echo $string;

您需要修剪空格并删除重复的条目。

答案 1 :(得分:0)

如果每个逗号后面总是有空格字符,则可以在爆炸/内爆函数中包含空格字符

public class Bank {
List <Account> bankArray
public Bank() {
   this.bankArray = new ArrayList<Account>();
}

否则你必须修剪空格,就像其他答案所暗示的那样