我一直在网上查找,但没有成功执行以下操作。我有一些丑陋的字符串作为Betfair SOAP响应的一部分返回,它使用许多不同的char分隔符来标识信息的某些部分。令人感到尴尬的是,它们并不总是只有一个字符长度。具体来说,我需要分割一个字符串':'
字符,但只有在我第一次替换全部"\\:"
实例与我的个人标志"-COLON-"
(必须在第一次拆分后再次被替换)之后。用C++中的另一个std :: string替换给定std :: string的实例
基本上我需要一个字符串的所有部分这样
"6(2.5%,11\:08)~true~5.0~1162835723938~"
成为
"6(2.5%,11-COLON-08)~true~5.0~1162835723938~
在perl的是(从存储器)
$mystring =~ s/\\:/-COLON-/g;
我一直在寻找功能std::string
,具体为std::find
和std::replace
,我知道我可以编写如何使用这些基本函数来完成我需要的功能,但是我想知道标准库(或其他地方)中是否有函数已经这样做?
你看过C++ 11 RegEx工具吗? http://www.cplusplus.com/reference/std/regex/ 它包括匹配替换操作 http://www.cplusplus.com/reference/std/regex/match_replace/ – 2012-07-10 19:33:55
我不太注重C++ 11作为我目前正在编写的编译器不支持C++ 11。无论如何感谢您的建议。 – mathematician1975 2012-07-10 19:38:31
可能重复的[C++用另一个字符串替换字符串的一部分](http://stackoverflow.com/questions/3418231/c-replace-part-of-a-string-with-another-string) – Troubadour 2012-07-10 19:59:28