这是我似乎找不到答案的另一个问题,因为我能找到的每个示例都使用向量,而我的老师也不允许我们在此类中使用向量。
我需要使用(任意数量的)空格
' '
和(任意数量的)非字母字符作为分隔符,一次读一本书的纯文本版本;因此任何数量的空格或标点符号都需要分开。当只需要使用空格作为定界符时,这就是我的方法:
while(getline(inFile, line)) {
istringstream iss(line);
while (iss >> word) {
table1.addItem(word);
}
}
编辑:读入文本的示例,以及我需要如何将其分开。
“如果他们知道;您希望,那么娱乐。
这是第一行需要分开的方式:
如果
他们
有
已知的
你
希望
它
这
娱乐
将
有
文字至少包含所有标准标点符号,但也包含椭圆...
双破折号--
等。
一如既往,在此先感谢。
编辑:
所以使用第二个字符串流看起来像这样吗?
while(getline(inFile, line)) {
istringstream iss(line);
while (iss >> word) {
istringstream iss2(word);
while(iss2 >> letter) {
if(!isalpha(letter))
// do something?
}
// do something else?
table1.addItem(word);
}
}
我还没有测试过,因为我现在没有g ++编译器,但是它应该可以工作(除了轻微的C ++语法错误)
while (getline(inFile, line))
{
istringstream iss(line);
while (iss >> word)
{
// check that word has only alpha-numeric characters
word.erase(std::remove_if(word.begin(), word.end(),
[](char& c){return !isalnum(c);}),
word.end());
if (word != "")
table1.addItem(word);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句