2016-05-23 83 views
4

我有一個字符串是這樣的:如何從一個字符串中刪除重複子

「西班牙,法國,西班牙,德國,法國,西班牙」

需要只有唯一的子

「西班牙,法國,德國

的唯一途徑,我可以TH墨水是這個轉換成一個陣列和回:

$countries = "spain,france,spain,germany,france,spain"; 
$country = implode(",", array_unique(explode(",", $countries))); 

另一種/正確的方法來做到這一點?

+7

的[刪除從逗號分隔的字符串重複]可能的複製(http://stackoverflow.com/questions/5134176/remove-duplicates-from-comma-separated-string) – Eric

+0

僅當源字符串可能包含逗號後的空格時,您需要其他解決方案 – splash58

+0

@ splash58源字符串在逗號後可能有空格,另一個解決方案會更好/更快? – Leo

回答

0

我認爲你這樣做的方式是好的。 但是,您需要注意逗號和單詞之間的空格。要做到這一點只需要添加:
$countries = str_replace(' ', '', $countries);

如果你希望空格在那裏藏漢你應該使用正則表達式刪除:
$countries = preg_replace('/\s/', '', $countries);

如果你不知道空間之間的區別和空白

  • 空間只是普通的空間字符be吐溫其他字符
  • 空白可以是空間,製表,換行等。

source

+0

如果它將是'Great Britain',爆炸後使用「map('trim',explode())」 – lvil

+0

? – splash58

相關問題