我使用此函数来分割字符串:
std::vector<std::string> splitString(const std::string& stringToSplit, const std::string& regexPattern)
{
std::vector<std::string> result;
const std::regex rgx(regexPattern);
std::sregex_token_iterator iter(stringToSplit.begin(), stringToSplit.end(), rgx, -1);
for (std::sregex_token_iterator end; iter != end; ++iter)
{
result.push_back(iter->str());
}
return result;
}
现在,如果我想逐行拆分字符串(比方说,我已经将文件内容读入单个变量),我这样做:
auto vec = splitString(fileContent, "\\n");
在Windows上,我明白了:
line 1 \r
line 2 \r
这是因为Windows行结束由\r\n
确定。我曾尝试使用$
,但又没有成功。在Windows中捕获行结尾的正确方法是什么?