Yes, you can do it, but you have to find the position of the first string with string's find() member, and then replace with it's replace() member.
string s("hello $name"); size_type pos = s.find( "$name" ); if ( pos != string::npos ) { s.replace( pos, 5, "somename" ); // 5 = length( $name ) } If you are planning on using the Standard Library, you should really gtget hold of a copy of the book The C++ Standard Library which covers all this stuff very well.