/************************************************************************
函数功能:将字符串中str的old_value子字符串,替换为new_valud字符串
输入参数:string& str -- 要修改的字符串
const string& old_value -- 要被替换的子字符串
const string& new_value -- 要插入的字符串
输出参数:
返回值 : 返回修改后的字符串
************************************************************************/
string& replace_all(string& str, const string& old_substr, const string& new_substr)
{
try
{
for (string::size_type pos(); pos != string::npos; pos += new_substr.length())
{
if ((pos = str.find(old_substr, pos)) != string::npos)
str.replace(pos, old_substr.length(), new_substr);
else
break;
}
}
catch (...)
{
}
return str;
}
/************************************************************************
函数功能: 计算子字符串substr在字符串str中出现的次数
输入参数: const string& str -- 字符串对象
输出参数: const string& substr -- 要计算其出现次数的子字符串对象
返回值 : 整型值,子字符串对象的出现次数
说明 :
************************************************************************/
int find_num_of_substr(const string& str, const string& substr)
{
int num = ;
string::size_type pos = ;
string::size_type loc = ;
while(pos != string::npos)
{
loc = str.find(substr, pos);
if(loc != string::npos)
{
num++;
pos = loc;
pos += substr.length();
}
else
{
pos = loc;
}
}
return num;
};
/************************************************************************
函数功能: 对于输入的字符串对象,删除其前后的空格,制表符
输入参数: string& s -- 要删除前后空格,制表符的字符串对象
输出参数:
返回值 :
说明 :
************************************************************************/
void DPC::dcs_trim(string& s)
{
int len = s.length();
if(len == )
return;
int pos = -; // trim left
for(int i = ; i < len; ++i)
{
if(s[i] == ' ' || s[i] == '\t')
pos = i;
else
break;
}
if(pos != -)
s.erase(, pos - + ); len = s.length();
if(len == )
return;
pos = - ;
// trim right
for(int j = len - ; j >= ; --j)
{
if(s[j] == ' ' || s[j] == '\t')
pos = j;
else
break;
}
if(pos != -)
s.erase(pos);
};
/************************************************************************
函数功能:将字符串中str的old_value子字符串,替换为new_valud字符串
输入参数:string& str -- 要修改的字符串
const string& old_value -- 要被替换的子字符串
const string& new_value -- 要插入的字符串
输出参数:
返回值 : 返回修改后的字符串
************************************************************************/
string& DPC::replace_all(string& str, const string& old_substr, const string& new_substr)
{
try
{
for (string::size_type pos(); pos != string::npos; pos += new_substr.length())
{
if ((pos = str.find(old_substr, pos)) != string::npos)
str.replace(pos, old_substr.length(), new_substr);
else
break;
}
}
catch (...)
{
}
return str;
}

常用函数-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. 一个vue练手的小项目

    编程路上的菜鸟一枚 : 最近接触了vue 然后写了一个练手的项目 使用vue-cli脚手架来搭建了的项目 技术: vue2  + vue-router  + ES6 + axios 框架有 mint- ...

  2. idea使用Deployment部署项目到阿里云服务器的全过程

    一.前言 之前玩了一下 Alibaba Cloud Toolkit 一键部署插件 这里顺便再提一下idea原生的Deployment自动部署项目吧,该功能也很强大,也不需要离开idea就可以直接将项目 ...

  3. Spring——面向切面编程(AOP)详解

    声明:本博客仅仅是一个初学者的学习记录.心得总结,其中肯定有许多错误,不具有参考价值,欢迎大佬指正,谢谢!想和我交流.一起学习.一起进步的朋友可以加我微信Liu__66666666 这是简单学习一遍之 ...

  4. hadoop生态系列

    1.hadoop高可用安装和原理详解 2.hadoop2.7+spark2.2+zookeeper3.4.简单安装 3.windows下通过idea连接hadoop和spark集群 4.hadoop2 ...

  5. LeetCode 430. Faltten a Multilevel Doubly Linked List

    题目链接:LeetCode 430. Faltten a Multilevel Doubly Linked List class Node { public: int val = NULL; Node ...

  6. APP自動化測試腳本2

    package com.lemon.day01; import java.net.MalformedURLException; import java.net.URL; import java.uti ...

  7. rpm方式升级cenos6.7内核

    最近因为yarn集群问题需要配置cgroup.但是配置完成后操作系统内核奔溃. 查找资料后发现升级内核可以解决问题.在领导的大力支持下,对生产环境的计算节点(nodemanager)进行了批量升级内核 ...

  8. 推荐5款自学手机APP,请低调收藏,让你变得越来越优秀

    现在的手机APP真的是太多了,但里面的功能同类性又非常大,很难找到实用并且符合要求的APP.接下来就为小伙伴们推荐5款非常实用的APP软件,保证你会爱不释手,轻松秒变手机达人. 1.清爽视频编辑器 一 ...

  9. Spring boot 官网学习笔记 - Auto-configuration(@SpringBootApplication、@EnableAutoConfiguration、@Configuration)

    Spring Boot auto-configuration attempts to automatically configure your Spring application based on ...

  10. springboot启动后自动退出

    有时新建的springboot启动后自动退出运行,如图所示: 此种情况大都数是因为pom文件加入了tomcat的依赖,与springboot内嵌的tomcat冲突导致,所以只需将pom文件中的tomc ...