我想知道如何从容器中删除重复的字符串,但忽略了跟踪标点符号的字差异。
例如给出这些字符串:
为什么我们在这里?
我想得到这个输出:
为什么我们在这里?
答案 0 :(得分:0)
算法:
使用std::string
代替您的话。
这允许您执行以下操作:
std::string word;
while (data_file >> word)
{
}
使用std::vector
包含您的字词(尽管您也可以使用std::list
)。 std::vector
动态增长,因此如果您选择了错误的尺码,则不必担心重新分配。
要附加到std::vector
,请使用push_back
方法。
要比较std::string
,请使用operator==
:
std::string new_word;
std::vector<std::string> word_list;
//...
if (word_list[index] == new_word)
{
continue;
}