在开始和结束处添加的C++字符串
C++ Strings adding at the start and at the end
我想在字符串的开头添加一个^
,在字符串的末尾添加一个$
。
std::string s1 (".V/.B/.R/");
最好的使用方式是什么?
s1.append(s1.begin(),"^");
s1.append(s1.end(),"$");
谢谢你的帮助。
应该是insert
而不是append
,但除此之外似乎还可以。
一个更简单的方法是
s1 = '^' + s1 + '$';
不能以这种方式使用std::string::append()
:
s1.insert(0, "^");
s1.append("$");
您的示例不起作用,因为它们不使用任何stl::string::append
重载,您可以创建一个新字符串并单独添加元素,即
std::string FormatText( const std::string& rstrInput )
{
std::string strOutput = "^";
strOutput += rstrInput ;
strOutput += "$";
return strOutput; // RVO will eliminate copying
}
但可能有很多方法可以做到这一点,追加可能是最简单的。
std::string strResult = "^" + strValue + "$";
您也可以使用字符串流。。
std::stringstream ss;
ss << "^" << strValue << "$";
std::string strResult = ss.str();
printf风格的字符串形成等。