2010-06-21 101 views

回答

9

不完全是,但看看在Boost String Algorithms Library - 在這種情況下replace functions

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

str現在包含"xxbbxxdd"

+1

no unicode?什麼? – Kugel 2010-06-21 01:03:49

+3

@Kugel:你瞄準什麼?字符串算法是抽象的,並且可以處理滿足[requirements](http://www.boost.org/doc/libs/1_43_0/doc/html/string_algo/design.html#string_algo.string)的任何字符串。因此,請使用'wstring',使用ICU的Boost.Locale或任何最適合的方法。 – 2010-06-21 01:53:00

+0

@Kugel:你是什麼意思? – Joe 2010-06-21 01:54:14

7

std::string::replace將做替換。您可以將它與std::string::find*方法相結合以獲得類似的功能。這不像PHP的方式那麼簡單。我認爲Boost有你想要的東西;在regular expressions

+2

+1不推薦Boost。 – 2012-05-23 06:52:51

0

您也可以使用std :: regex_replace

相關問題