如何使用带字符串的数组

时间:2015-10-13 22:53:44

标签: c++ arrays string

我正在创建一个包含句子或段落的程序。然后它询问用户他们想做什么。 - 隐藏所有上限 - 隐藏为全部小写 - 删除空格 - 拆分单词并删除重复项 - 搜索字符串中的单词

我得到了所有这些,但我无法弄清楚如何分割单词并删除重复项。

当选择第4个选项(“Split Words”)时,应将单词放入数组或结构中,并且每个单词应以循环显示。在此之后,应执行重复删除,程序必须确定重复的单词并消除它们。在此之后,应再次打印单词列表。

对此的任何帮助将不胜感激。谢谢

这是我的代码&案件'D'我需要帮助

import os, sys, string, arcpy, arcpy.mapping, glob, arcgisscripting,time 
from arcpy import env

1 个答案:

答案 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;
}