如何将字符串放在另一个字符串中,而不是某个索引处的字符

时间:2012-12-20 13:49:50

标签: c++ string insert

如果我有:Enter(x)

我希望在(之后放置room2,但没有x,那么std :: insert无效 因为如果:

std::string myString = "Enter(x)";
std::string placeMe = "room2";
myString.insert(myString.find_first_of("(") + 1 , placeMe);

然后我会得到:Enter(room2x)

如何设置某个索引的placeMe 代替

2 个答案:

答案 0 :(得分:6)

我相信您正在寻找的功能是替换而不是插入。

http://www.cplusplus.com/reference/string/string/replace/

答案 1 :(得分:3)

首先,您可能需要find而不是find_first_of,因为您只想匹配一个可能的子字符串。其次,您需要std::string::replace函数:

myString.replace(myString.find("(") + 1, 1, placeMe);