2010-06-21 28 views

Respuesta

9

No exactamente, pero echa un vistazo a la Boost String Algorithms Library - en este caso el replace functions:

std::string str("aabbaadd");  
boost::algorithm::replace_all(str, "aa", "xx"); 

str ahora contiene "xxbbxxdd".

+1

no unicode? ¿Qué? – Kugel

+3

@Kugel: ¿Qué pretendes? Los algoritmos de cadena son abstractos y funcionan con cualquier cadena que cumpla los [requisitos] (http://www.boost.org/doc/libs/1_43_0/doc/html/string_algo/design.html#string_algo.string). Así que ve con 'wstring', usa Boost.Locale con ICU o lo que mejor se adapte. –

+0

@Kugel: ¿qué quieres decir? – Joe

7

std::string::replace hará el reemplazo. Puede acoplarlo con los métodos std::string::find* para obtener una funcionalidad similar. No es tan fácil como el modo PHP. Creo que Boost tiene lo que estás buscando; en regular expressions.

+2

+1 por no recomendar Boost. –

0

También puede utilizar std :: regex_replace

Cuestiones relacionadas