我有不同類型的字符串,我需要找出這個字符串中的重複條目。 不同類型的字符串在C++中查找字符串中的重複條目
string aStr= "1.1,1.2,1.3, 1"; //output should be duplicate entry
string aStr= "1.1,1.2,1.3"; //Ouput NO duplicate entry
string aStr= "1,2,1"; //o/p duplicate entry
string aStr = "1,2,3";//output No duplicate
I have tried as
std::vector <std::string> aOutString;
std::set <int> full_list;
std::set <std::string> aEntryInDouble;
int aNum1;
boost::split(aOutString, aStr , boost::is_any_of(","));
for(size_t it = 0; it < aOutString.size(); ++it)
{
if (aOutString[it].find('.') != std::string::npos)
{
//If entry is like "1.1,1.2,1.3"
if(!aEntryInDouble.insert(aOutString[it]).second)
{
aDup = false;
break;
}
}
else
{
//For entry "1,2,1"
aNum1 = std::atoi(aOutString[it].c_str());
if(aNum1)
{
if(!full_list.insert(aNum1).second)
{
aDup = false;
break;
}
}
- 的我無法找出適合入門字符串「字符串而aStr =‘1.1,1.2,1.3,1’解決方案; 請幫我找出解決辦法。
感謝,
是什麼讓你無法?你遇到什麼具體問題? –
你爲什麼明確地處理'.'?該算法看起來很簡單:用逗號分隔。從分割列表創建一個集合。如果這個集合的長度等於分割列表的長度,那麼不會有任何愚蠢的行爲。 – erip
請把這個任務的文本放在這裏。例如,定義「重複」。 – Les