如果我有: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
代替?
答案 0 :(得分:6)
我相信您正在寻找的功能是替换而不是插入。
答案 1 :(得分:3)
首先,您可能需要find
而不是find_first_of
,因为您只想匹配一个可能的子字符串。其次,您需要std::string::replace
函数:
myString.replace(myString.find("(") + 1, 1, placeMe);