我有这种方法:
std::string pluralize(std::string const& word) const {
std::regex_replace(word, m_pattern, m_replacement);
return word;
}
但是它没有按预期工作。字符串不替换为给定的规则。是否可以对引用执行regex_replace
并返回此变量引用?
答案 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);
}