2
我通常情況下,拆分文本記號化字符串sregex_token_iterator的情況下,與標題空間
vector<string> split(const string& input, const string& reText) {
regex re(reText);
sregex_token_iterator first{input.begin(), input.end(), re, -1}, last;
return {first, last};
}
auto text = string(" hello world, hi every one");
auto delimiters = string("[\\s,]+");
auto arr = split(text, delimiters);
copy(begin(arr), end(arr), ostream_iterator<string>(cout, "\n"));
使用sregex_token_iterator但是,與標題空間「」的結果是,
{「」,「你好」, 「世界」, 「喜」,每一個」, 「一」}
所以,我通常刪除標題爲 「」 手動空字符串。
if (arr.size() > 0 && arr[0].empty()) arr.erase(arr.begin());
有更好的主意嗎?
你可以拆分之前裁剪的字符串。那麼你將不會有前/後空白。 –