使用多個分隔符分割字串
在將文字分割成有意義的單元時,開發人員經常遇到將字符串分成字的需要。雖然傳統方法足以滿足單一分隔符,但當涉及多個分隔符時,有哪些選項可用?
為了解決這個挑戰,可以實現採用多個分隔符號進行字串分割的技術。讓我們深入研究解決方案。
在C 中,使用字串流解析具有單一分隔符的字串的語法如下:
std::stringstream stringStream(inputString); std::string word; while(std::getline(stringStream, word, delimiter)) { wordVector.push_back(word); }
為了容納多個分隔符,我們首先閱讀整行放入緩衝區。隨後,我們遍歷該行,並識別任何指定分隔符號出現的位置。透過目前分隔符號位置減去前一個位置,我們得到代表單字的子字串,並將其加到詞向量中。
例如,如果我們選擇空格、撇號和分號作為分隔符,則以下程式碼完成任務:
std::stringstream stringStream(inputString); std::string line; while(std::getline(stringStream, line)) { std::size_t prev = 0, pos; while ((pos = line.find_first_of(" ';", prev)) != std::string::npos) { if (pos > prev) wordVector.push_back(line.substr(prev, pos-prev)); prev = pos+1; } if (prev < line.length()) wordVector.push_back(line.substr(prev, std::string::npos)); }
以上是如何在 C 中使用多個分隔符號拆分字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!