这是我第一次来这里,我是 C++ 的初学者。我想知道在阅读文本文件时如何用标点符号分割句子。
IE
hey how are you? The Java is great. Awesome C++ is awesome!
结果将在我的向量中出现(假设我已将 endl 用于显示向量的每个内容):
- 嘿,你怎么样?
- Java很棒。
- 很棒的 C++ 很棒!
到目前为止,这是我的代码:
vector<string> sentenceStorer(string documentOfSentences)
{
ifstream ifs(documentOfSentences.c_str());
string word;
vector<string> sentence;
while ( ifs >> word )
{
char point = word[word.length()-1];
if (point == '.' || point == '?' || point == '!')
{
sentence.push_back(word);
}
}
return sentence;
}
void displayVector (vector<string>& displayV)
{
for(vector<string>::const_iterator i = displayV.begin(); i != displayV.end(); ++i )
{
cout << *i <<endl;
}
}
int main()
{
vector <string> readstop = sentenceStorer("input.txt");
displayVector(readstop);
return 0;
}
这是我的结果:
- 你?
- 伟大的。
- 惊人的!
你能解释为什么我不能得到前一个词并修复它吗?