可能重複:
comparing two strings with comma seperated valuesC++:比較兩個字符串
我在C++中工作,在那裏我有兩個字符串:
string str1 = "1,4,8,",
str2 = "4,1,8,";
兩個字符串包含逗號分隔值。現在我只想檢查str1
中的所有元素是否也存在於str2
中,而不管它們的位置。有沒有直接的方法來檢查這個?我是否需要爲此編寫自定義代碼?
可能重複:
comparing two strings with comma seperated valuesC++:比較兩個字符串
我在C++中工作,在那裏我有兩個字符串:
string str1 = "1,4,8,",
str2 = "4,1,8,";
兩個字符串包含逗號分隔值。現在我只想檢查str1
中的所有元素是否也存在於str2
中,而不管它們的位置。有沒有直接的方法來檢查這個?我是否需要爲此編寫自定義代碼?
就C++而言,這些字符串只是字符序列。如果您對這些字符應用了含義(例如「逗號分隔值」),那麼您必須編寫一些代碼來提取數據並處理它。
我會做這樣的事情:
它是由你來決定使用什麼樣的整數。
集合的問題在於它們必須是唯一的(或者至少每個集合只包含唯一值)。他可能還希望確保兩個列表都具有相同數量的重複項,在這種情況下,普通的'std :: set
@Merlyn:公正的電話,所以@Jame:如果這適用於你嘗試'std :: map
@Tony:'std :: multiset'有什麼問題? – 2011-06-06 10:48:55
是的,你需要編寫自定義代碼,雖然不是很多。一旦你找出算法,你可以在這裏發表,如果你有進一步的問題,如何實現每個部分。
爲什麼用字符串表示這些數據?爲什麼不是'std :: set'? –
GManNickG
2011-06-06 04:59:58
我會將它們分成標記,對它們進行排序,然後檢查所有元素是否相同。 – 2011-06-06 05:17:02
這些是以逗號結尾的字符串; CSV不會在後面的逗號後面。 – 2011-06-06 05:18:24