我正在创建一个包含句子或段落的程序。然后它询问用户他们想做什么。 - 隐藏所有上限 - 隐藏为全部小写 - 删除空格 - 拆分单词并删除重复项 - 搜索字符串中的单词
我得到了所有这些,但我无法弄清楚如何分割单词并删除重复项。
当选择第4个选项(“Split Words”)时,应将单词放入数组或结构中,并且每个单词应以循环显示。在此之后,应执行重复删除,程序必须确定重复的单词并消除它们。在此之后,应再次打印单词列表。
对此的任何帮助将不胜感激。谢谢
这是我的代码&案件'D'我需要帮助
import os, sys, string, arcpy, arcpy.mapping, glob, arcgisscripting,time
from arcpy import env
答案 0 :(得分:0)
您可以使用stringstream
按空格分隔字符串,set<string>
只包含唯一字词。然后您的代码应如下所示:
case 'D':
{
cout << "You chose to split the words & remove the duplicates in the paragraph" << endl;
string buf;
stringstream ss(s); // Insert the string into a stream
set<string> tokens; // Create vector to hold our words
while (ss >> buf)
tokens.insert(buf);
cout << "This is it: " << endl;
for (set<string>::iterator it = tokens.begin(); it != tokens.end(); ++it) {
cout << *it << " ";
}
cout << endl;
break;
}