1. /************************************************************************
  2. 函数功能:将字符串中str的old_value子字符串,替换为new_valud字符串
  3. 输入参数:string& str -- 要修改的字符串
  4. const string& old_value -- 要被替换的子字符串
  5. const string& new_value -- 要插入的字符串
  6. 输出参数:
  7. 返回值 : 返回修改后的字符串
  8. ************************************************************************/
  9. string& replace_all(string& str, const string& old_substr, const string& new_substr)
  10. {
  11. try
  12. {
  13. for (string::size_type pos(); pos != string::npos; pos += new_substr.length())
  14. {
  15. if ((pos = str.find(old_substr, pos)) != string::npos)
  16. str.replace(pos, old_substr.length(), new_substr);
  17. else
  18. break;
  19. }
  20. }
  21. catch (...)
  22. {
  23. }
  24. return str;
  25. }
  1. /************************************************************************
  2. 函数功能: 计算子字符串substr在字符串str中出现的次数
  3. 输入参数: const string& str -- 字符串对象
  4. 输出参数: const string& substr -- 要计算其出现次数的子字符串对象
  5. 返回值 : 整型值,子字符串对象的出现次数
  6. 说明 :
  7. ************************************************************************/
  8. int find_num_of_substr(const string& str, const string& substr)
  9. {
  10. int num = ;
  11. string::size_type pos = ;
  12. string::size_type loc = ;
  13. while(pos != string::npos)
  14. {
  15. loc = str.find(substr, pos);
  16. if(loc != string::npos)
  17. {
  18. num++;
  19. pos = loc;
  20. pos += substr.length();
  21. }
  22. else
  23. {
  24. pos = loc;
  25. }
  26. }
  27. return num;
  28. };
  1. /************************************************************************
  2. 函数功能: 对于输入的字符串对象,删除其前后的空格,制表符
  3. 输入参数: string& s -- 要删除前后空格,制表符的字符串对象
  4. 输出参数:
  5. 返回值 :
  6. 说明 :
  7. ************************************************************************/
  8. void DPC::dcs_trim(string& s)
  9. {
  10. int len = s.length();
  11. if(len == )
  12. return;
  13. int pos = -;
  14.  
  15. // trim left
  16. for(int i = ; i < len; ++i)
  17. {
  18. if(s[i] == ' ' || s[i] == '\t')
  19. pos = i;
  20. else
  21. break;
  22. }
  23. if(pos != -)
  24. s.erase(, pos - + );
  25.  
  26. len = s.length();
  27. if(len == )
  28. return;
  29. pos = - ;
  30. // trim right
  31. for(int j = len - ; j >= ; --j)
  32. {
  33. if(s[j] == ' ' || s[j] == '\t')
  34. pos = j;
  35. else
  36. break;
  37. }
  38. if(pos != -)
  39. s.erase(pos);
  40. };
  1. /************************************************************************
  2. 函数功能:将字符串中str的old_value子字符串,替换为new_valud字符串
  3. 输入参数:string& str -- 要修改的字符串
  4. const string& old_value -- 要被替换的子字符串
  5. const string& new_value -- 要插入的字符串
  6. 输出参数:
  7. 返回值 : 返回修改后的字符串
  8. ************************************************************************/
  9. string& DPC::replace_all(string& str, const string& old_substr, const string& new_substr)
  10. {
  11. try
  12. {
  13. for (string::size_type pos(); pos != string::npos; pos += new_substr.length())
  14. {
  15. if ((pos = str.find(old_substr, pos)) != string::npos)
  16. str.replace(pos, old_substr.length(), new_substr);
  17. else
  18. break;
  19. }
  20. }
  21. catch (...)
  22. {
  23. }
  24. return str;
  25. }

常用函数-String的更多相关文章

  1. C++string类常用函数

    C++string类常用函数 string类的构造函数:string(const char *s);    //用c字符串s初始化string(int n,char c);     //用n个字符c初 ...

  2. c++中string的常用函数说明

    string可以说是是字符数组的升级版,使用更加啊方便,不容易出错.本文对string的常用函数进行简单介绍,做到会用即可. string中的常用函数分为四类,即赋值,添加,比较和删除. 一.赋值 1 ...

  3. C#string常用函数总结

    补充:             1:在C语言里 char占1个字节 而在C#,Java里char占两个字节 数据库里char 中汉占两个字节 字母数字占一个字             2:string ...

  4. C++ string 常用函数

    C++ String常用函数 一,类型别名 size_type 无符号整型 iterator 迭代器类型 const_iterator 只读迭代器 reverse_iterator 逆序迭代器 con ...

  5. C++ string 常用函数总结

    头文件:#include<string> [注]:文中关于个数的参数文档中为 size_type 型,更本质是 size_t 型,因为typedef size_t size_type,而 ...

  6. c++ <string.h>中包括哪些常用函数

    常用函数如下:strlen  求字符串长度strcmp  比较2个字符串是否一样strcat           字符串连接操作strcpy            字符串拷贝操作strncat     ...

  7. [转]SQL 常用函数及示例

    原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --===== ...

  8. phpcms V9 常用函数 及 代码整理

    常用函数 及 常用代码 总结如下 <?php //转换字符串或者数组的编码 str_charset($in_charset, $out_charset, $str_or_arr) //获取菜单 ...

  9. NiosII常用函数整理

    NiosII常用函数整理 IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏 ...

随机推荐

  1. Servlet实现用户登录

    1.登录过程分析: 通过表单收集用户的数据,Servlet通过request对象获得用户提交的数据,服务器还需要从数据库中通过sql语句查询有没有表单提交的数据中的用户.有则登录成功,否则,登录失败. ...

  2. 即时聊天APP(二) - MainActivity

    主活动包含三个Fragment,分别是会话.联系人和设置,初始布局隐藏所有碎片,然后把应该显示的显示出来: //隐藏所有Fragment private void hideAll(){ Fragmen ...

  3. 上传本地Jar包到阿里云的云效私有仓库

    一.前言 前2天玩了一下上传本地jar到maven中央仓库,随后我们老大又给我说了一个叫云效的私有仓库也可以玩,小编试了一下,果然很舒服,配置很简单,效率很高,几分钟就能搞定,只需要自己有个阿里云的账 ...

  4. JS实现数组去重的方法

    1.使用ES6的Set进行去重 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...

  5. 【linux】【sonarqube】安装sonarqube7.9

    前言 SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量. 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol ...

  6. Java网络方面

    最近在面试 有些概念懂 但是需要梳理一下 借着面试看看自己会多少. 1.网络编程的同步 异步 阻塞 非阻塞? 同步:函数调用在没有得到结果之前,不返回任何结果: 异步:函数调用在没有得到结果之前,不返 ...

  7. vue-router之路由元信息

    路由元信息?(黑人问号脸???)是不是这么官方的解释很多人都会一脸懵?那么我们说meta,是不是很多人恍然大悟,因为在项目中用到或者看到过呢? 是的,路由元信息就是我们定义路由时配置的meta字段:那 ...

  8. java自学小测试 九九乘法表

    public class Ninenine { public static void main(String[] args) { for(int i=1;i<=9;i++){ for(int j ...

  9. zookeeper特性与节点说明

    一.zookeeper概要.背景及作用 zookeeper产生背景: 项目从单体到分布式转变之后,将会产生多个节点之间协同的问题.如: 每天的定时任务由谁哪个节点来执行? RPC调用时的服务发现? 如 ...

  10. Flask基础(16)-->WTForms表单创建和简单验证

    Flask基础(16)-->WTForms表单创建和简单验证 前言:使用Flask_WTF需要配置参数SECRET_KEYCSRF_ENABLED是为了CSRF(跨站请求伪造)保护.SECRET ...