我想在字符串的开头添加^
,在结尾添加$
。
std::string s1 (".V/.B/.R/");
是最好的使用方式吗?
s1.append(s1.begin(),"^");
s1.append(s1.end(),"$");
感谢您的帮助。
答案 0 :(得分:7)
它将是insert
而不是append
,但除此之外似乎没问题。
更简单的方法是
s1 = '^' + s1 + '$';
答案 1 :(得分:2)
您不能以这种方式使用std::string::append()
:
s1.insert(0, "^");
s1.append("$");
答案 2 :(得分:2)
您的示例无效,因为他们不使用任何stl::string::append
overloads,您可以创建新字符串并单独添加元素,即
std::string FormatText( const std::string& rstrInput )
{
std::string strOutput = "^";
strOutput += rstrInput ;
strOutput += "$";
return strOutput; // RVO will eliminate copying
}
但是可能有很多方法可以做到这一点,追加可能是最简单的。
std::string strResult = "^" + strValue + "$";
你也可以使用stringstreams ..
std::stringstream ss;
ss << "^" << strValue << "$";
std::string strResult = ss.str();
... printf样式字符串形成等等。