如何在参考中使用regex_replace

时间:2019-10-14 13:42:18

标签: c++ reference

我有这种方法:

std::string pluralize(std::string const& word) const {
        std::regex_replace(word, m_pattern, m_replacement);
        return word;
    }

但是它没有按预期工作。字符串不替换为给定的规则。是否可以对引用执行regex_replace并返回此变量引用?

1 个答案:

答案 0 :(得分:1)

regex_replace不会改变,但是会返回新的string

std::string pluralize(std::string const& word) const {
    return std::regex_replace(word, m_pattern, m_replacement);;
}

如果要编辑原始的string

void pluralize(std::string &word) const {
    word = std::regex_replace(word, m_pattern, m_replacement);
}

如果您想同时修改并返回:

std::string pluralize(std::string &word) const {
    return word = std::regex_replace(word, m_pattern, m_replacement);
}