0

如果我有 : Enter(x)

我想放在(word之后room2,但没有x, 那么 std::insert 没有帮助,因为 if :

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

然后我会得到:Enter(room2x)

如何放置placeMe 而不是某个索引?

4

2 回答 2

6

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

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

于 2012-12-20T13:52:28.043 回答
3

首先,您可能想要find代替find_first_of,因为您只想匹配一个可能的子字符串。其次,你想要的std::string::replace功能:

myString.replace(myString.find("(") + 1, 1, placeMe);
于 2012-12-20T13:57:45.023 回答