首页 > 其他 > 详细

HOW TO REPLACE ALL OCCURRENCES OF A CHARACTER IN A STD::STRING

时间:2018-05-23 17:49:42      阅读:179      评论:0      收藏:0      [点我收藏+]

From: http://www.martinbroadhurst.com/replacing-all-occurrences-of-a-character-in-a-stdstring.html

 

This can be done using the standard library or Boost. The advantage of using Boost is that you get Boost ranges, which mean that you don’t need to specify the beginning and end of the string.

With both libraries, the replacement can be made on the original string or a copy.

  1. Use std::replace()
  2. Use std::replace_copy
  3. Use boost_replace_all
  4. Use boost_replace_all_copy

Method 1: Use std::replace()

1

2

3

4

5

6

7

8

9

10

#include <iostream>

#include <string>

#include <algorithm>

 

int main()

{

    std::string str("Quick+brown+fox");

    std::replace(str.begin(), str.end(), ‘+‘, ‘ ‘);

    std::cout << str << "\n";

}

Method 2: Use std::replace_copy

1

2

3

4

5

6

7

8

9

10

11

#include <iostream>

#include <string>

#include <algorithm>

 

int main()

{

    std::string str1("Quick+brown+fox");

    std::string str2(str1.size(), ‘\0‘);

    std::replace_copy(str1.begin(), str1.end(), str2.begin(), ‘+‘, ‘ ‘);

    std::cout << str2 << "\n";

}

Method 3: Use boost_replace_all

1

2

3

4

5

6

7

8

9

10

#include <iostream>

#include <string>

#include <boost/algorithm/string/replace.hpp>

 

int main()

{

    std::string str("Quick+brown+fox");

    boost::replace_all(str, "+", " ");

    std::cout << str << "\n";

}

Method 4: Use boost_replace_all_copy

1

2

3

4

5

6

7

8

9

10

#include <iostream>

#include <string>

#include <boost/algorithm/string/replace.hpp>

 

int main()

{

    std::string str1("Quick+brown+fox");

    std::string str2 =  boost::replace_all_copy(str1, "+", " ");

    std::cout << str2 << "\n";

}

HOW TO REPLACE ALL OCCURRENCES OF A CHARACTER IN A STD::STRING

原文:https://www.cnblogs.com/time-is-life/p/9077945.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!