這是另一個我似乎無法找到答案的問題,因爲我可以找到的每個示例都使用向量,而我的老師不會讓我們使用這個類的向量。stringstream與多個分隔符
我需要使用(任意數量的),同時在一本書一個字的純文本格式閱讀空格
' '
和(任意數量的)非字母字符是分隔符;所以任何數量的空格或標點都需要分開單詞。下面是我如何做它時,它只是使用空格作爲分隔符必要的:
while(getline(inFile, line)) {
istringstream iss(line);
while (iss >> word) {
table1.addItem(word);
}
}
編輯:閱讀文本的一個例子,我需要如何分開吧。
「如果他們知道你;;希望吧,entertainment.would有」
這裏的第一行會如何需要分開:
如果
他們
有
知
你
希望
它
的
娛樂
會
有
的文本將包含至少是所有標準的標點符號,而且這樣的事情橢圓...
雙破折號--
等
和往常一樣,在此先感謝。
編輯:
因此,使用第二字符串流會是這個樣子?
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);
}
}
使用流提取一個詞,忽略空白(默認值)。然後放入一個新的字符串流,並使用'std :: isalnum'來一次提取1個字符來測試字符是否應該被存儲。或者在字符串上使用'remove_if'。 – 2014-11-23 23:13:48
@Neil Kirk Original Edited。一旦我確定它是否是信件,我將如何丟棄/重新存儲每個角色? – user3776749 2014-11-23 23:27:15
如果它不是alnum,請不要將它添加到輸出字符串中。字母必須是字符 – 2014-11-23 23:52:36