2010-06-21 16 views

risposta

9

Non esattamente, ma date un'occhiata al Boost String Algorithms Library - in questo caso il replace functions:

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

str ora contiene "xxbbxxdd".

+1

no unicode? che cosa? – Kugel

+3

@ Kugel: A cosa stai mirando? Gli algoritmi di stringa sono astratti e funzionano con qualsiasi stringa che soddisfi i [requisiti] (http://www.boost.org/doc/libs/1_43_0/doc/html/string_algo/design.html#string_algo.string). Quindi vai con 'wstring', usa Boost.Locale con ICU o quello che si adatta meglio. –

+0

@ Kugel: cosa intendi? – Joe

7

std::string::replace sostituirà. Puoi accoppiarlo con i metodi std::string::find* per ottenere funzionalità simili. Non è facile come il modo PHP. Penso che Boost abbia quello che stai cercando; in regular expressions.

+2

+1 per non consigliare Boost. –

0

È inoltre possibile utilizzare std :: regex_replace

Problemi correlati