2011-03-22 75 views
4

我有一個格式爲[id1,id2,id3]的字符串。我使用boost分割來分割字符串並將其填充到向量中。boost分割使用

boost::split(ids, message, boost::is_any_of("[, ]")); 

ids是我的向量,聲明爲std::vector<std::string> ids

現在只有矢量的奇數索引包含id,偶數的索引是空的。誰能告訴我可能是什麼原因以及如何解決這個問題。

回答

7
boost::algorithm::split(ids, message, boost::is_any_of("[, ]"), 
         boost::algorithm::token_compress_on); 
+1

爲了清晰起見,重新格式化。簡單的句子不會是不好的:) – 2011-03-22 10:11:14

+0

謝謝,中間的空條目已經消失,但第一個和最後一個條目仍然是空的。 – Manoj 2011-03-22 10:31:58

+0

@Manoj:我嘗試了幾種情況,boost的分割將分隔符作爲分隔符處理,如果分隔符在開頭髮生,它將創建一個長度爲0的字符串。當分離器在最後發生時是相似的。 – Shuo 2011-03-22 11:03:17