我怎么能代替\r\n
在std::string
?
不要重新发明轮子,Boost String Algorithms是一个仅限标题的库,我有理由相信它可以在任何地方使用.如果您认为接受的答案代码更好,因为它已经提供,而您不需要查看文档,这里.
#include#include #include int main() { std::string str1 = "\r\nsomksdfkmsdf\r\nslkdmsldkslfdkm\r\n"; boost::replace_all(str1, "\r\n", "Jane"); std::cout<
或者只是使用标准库函数来避免增强依赖:http://stackoverflow.com/questions/1488775/c-remove-new-line-from-multiline-string
2> lsalamon..:用这个 :
while ( str.find ("\r\n") != string::npos ) { str.erase ( str.find ("\r\n"), 2 ); }更有效的形式是:
string::size_type pos = 0; // Must initialize while ( ( pos = str.find ("\r\n",pos) ) != string::npos ) { str.erase ( pos, 2 ); }
这是一个擦除而不是替代 - 问的问题是如何替换"\ r \n"; 他们可能需要用另一个角色替换它.
3> Nemanja Trif..:请参阅Boost String Algorithms库.