C ++使用std :: regex逐行拆分字符串

时间:2015-05-05 10:40:57

标签: c++ regex

我使用此函数来分割字符串:

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中捕获行结尾的正确方法是什么?

0 个答案:

没有答案