基于C++字符串替换函数的使用详解
在C++中,字符串替换有很多方法,这里主要说一下STL里的WString中的替换,虽然WString自带了一个Replace函数,但是只能替换一次,太不好了,因此单独写了个替换函数
[函数]
代码如下:
/**
* @brief 实现字符串替换
* @param orignStr 源串
* @param oldStr 查找的串
* @param newStr 替换的新串
* @return 返回修改后的串
*/
static wstring Replace(const wstring& orignStr, const wstring& oldStr, const wstring& newStr);
std::wstring Replace( const wstring& orignStr, const wstring& oldStr, const wstring& newStr )
{
size_t pos = 0;
wstring tempStr = orignStr;
wstring::size_type newStrLen = newStr.length();
wstring::size_type oldStrLen = oldStr.length();
while(true)
{
pos = tempStr.find(oldStr, pos);
if (pos == wstring::npos) break;
tempStr.replace(pos, oldStrLen, newStr);
pos += newStrLen;
}
return tempStr;
}
相关推荐
-
c++ String去除头尾空格的方法
本文实例讲述了c++ String去除头尾空格的方法,分享给大家供大家参考.具体实现方法如下: 实现该功能可使用string的find_first_not_of,和find_last_not_of方法,具体实现带如下: 复制代码 代码如下: #include <iostream> #include <string> std::string& trim(std::string &); int main() { std::string s = " He
-
c++ 尽量不要使用#define 而是用const、enum、inline替换。
例如:这里程序文件开头有如下#define语句 复制代码 代码如下: #define N 10 #define PI 3.14 #define MAX 10000 #define Heigth 6.65 ... ... 假设这里程序运行出错误,而且就是在我们使用这些常量有错误,此时编辑器应该会抛出错误信息.如果该信息提示6.65这里有错误,Ok如果你运气好你正好记得或者程序简单一眼能找到6.65表示什么,如果程序很复杂,而且报出6.65的文件是引用该文件,不记得,那么你会困惑这是什么?或许会花大
-
实现去除c语言注释的小工具
去除C代码中的注释,1. 单行注释//:2. 多行注释/**/:3. 单行注释以"\"结尾则下一行也为注释:4. 字符串中的注释不处理.说是C语言,但其实所有C语系的都可以,比如Java. 小工具:去除C语言注释 复制代码 代码如下: #include <stdio.h> int main(int argc, char* argv[]) { enum { literal, single, multiple, string } mode = li
-
c++线程池实现方法
本文实例讲述了c++线程池实现方法.分享给大家供大家参考.具体分析如下: 下面这个线程池是我在工作中用到过的,原理还是建立一个任务队列,让多个线程互斥的在队列中取出任务,然后执行,显然,队列是要加锁的 环境:ubuntu linux 文件名:locker.h #ifndef LOCKER_H_ #define LOCKER_H_ #include "pthread.h" class locker { public: locker(); virtual ~locker(); bool l
-
C++实现将一个字符串中的字符替换成另一个字符串的方法
本文实例讲述了C++实现将一个字符串中的字符替换成另一个字符串的方法,分享给大家供大家参考.具体方法如下: 题目要求: 原地实现字符串中的每个空格替换成"%20",例如输入"We are happy", 输出"We%20are%20happy" 被替换的字符串当然不仅仅是空格,上面只是个例子 这是道很好的题目,也是百度面试中的一道题,题目不难,但是问题得考虑全面.这里给出如下实现代码: #include <iostream> #inc
-
C++抽奖程序实现方法
本文实例讲述了C++抽奖程序实现方法.分享给大家供大家参考.具体实现方法如下: 一.int rand()可以生成从[0, 65536)之间均匀分布的随机数. 现要求实现:有30万员工,使用rand()写一个抽奖程序,抽出人100获奖. #include <iostream> #include <set> using namespace std; typedef set<int> ISET; ISET GetPridePersonId(const int num, con
-
C++去除输入行中空白的方法
本文实例讲述了C++去除输入行中空白的方法.分享给大家供大家参考.具体实现方法如下: /* * 删除每个输入行末尾的空格及制表符, 并删除完全是空格的行 */ #include <stdio.h> //每一行存放不超过1000个字符,最多输入不超过1000行 #define MAX 1000 int getline(char line[],int limit); main() { int nn; int i=0,j,k; char line[MAX]; char saveline[MAX][M
-
基于C++字符串替换函数的使用详解
在C++中,字符串替换有很多方法,这里主要说一下STL里的WString中的替换,虽然WString自带了一个Replace函数,但是只能替换一次,太不好了,因此单独写了个替换函数[函数] 复制代码 代码如下: /** * @brief 实现字符串替换 * @param orignStr 源串 * @param oldStr 查找的串 * @param newStr 替换的新串 * @return
-
基于C++ bitset常用函数及运算符(详解)
C++ bitset--高端压位卡常题必备STL ------------------------------------------------------------ 以下内容翻译自cplusplus.com,极大地锻炼了我的英语能力. bitset存储二进制数位. bitset就像一个bool类型的数组一样,但是有空间优化--bitset中的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一. bitset中的每个元素都能单独被访问,例如对于一个叫做foo的bitset,
-
ES6基础之字符串和函数的拓展详解
本文实例讲述了ES6基础之字符串和函数的拓展.分享给大家供大家参考,具体如下: 字符串的拓展 1.ES6为字符串添加了遍历器接口,因此可以使用for...of循环遍历字符串 2.字符串新增的 includes().startsWith().endsWidth() 三个方法用于判断某一字符串是否包含于另一字符串 includes():返回布尔值,表示源字符串中是否包含参数字符串. startsWith():返回布尔值,表示参数字符串是否在源字符串的头部. endsWith():返回布尔值,表示参数
-
C++的字符串分割函数的使用详解
经常碰到字符串分割的问题,这里总结下,也方便我以后使用. 一.用strtok函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解字符串为一组字符串. 参数说明:str为要分解的字符串,delim为分隔符字符串. 返回值:从str开头开始的一个个被分割的串.当没有被分割的串时则返回NULL. 其它:strtok函数线程不安全,可以使用strtok_r替代. 示例: //借助strtok实现split #include <st
-
python 常见字符串与函数的用法详解
strip去除空格 s = ' abcd efg ' print(s.strip()) #去除所有空格 print(s.lstrip()) #去除左边空格 print(s.rstrip()) #去除右边空格 print(s) abcd efg abcd efg abcd efg abcd efg 大小写 s = 'abc defg' print(s.upper()) print(s.upper().lower()) print(s.capitalize()) #首字母大写 ABC DEFG ab
-
python字符串查找函数的用法详解
python字符串查找函数的使用 打开Python开发工具IDLE,新建'findstr.py'文件,并写代码如下: s ='/ab/bx,.s' print (s.find('/x')) 注意find是匹配子字符串,而不是匹配第一个字符 F5运行程序,打印出-1,代表没有找到'/x'子字符串 修改代码如下,查找'/b'子字符串 s ='/ab/bx,.s' print (s.find('/b')) F5运行程序,打印出3,代表'/b'子字符串起始索引是3 find是从左到右查找,默认从起始位置
-
基于C/C++时间函数的使用详解
C/C++对时间的操作也有许多值得大家注意的地方.最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作.获取和显示等等的问题.下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法.通过学习许多C/C++库,你可以有很多操作.使用时间的方法.但在这之前你需要了解一些"时间"和"日期"的概念,主要有以下几个:Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Gre
-
基于mysql时间处理函数的应用详解
DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=星期一, --7=星期六).这些索引值对应于ODBC标准. mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回date的星期索引(0=星期一,1=星期二, --6= 星期天). mysql> select WEEKDAY('1997-10-04 22:23:00'); -> 5 mysql> select WEEKDAY
-
基于C语言fflush()函数的使用详解
fflush用于清空缓冲流,虽然一般感觉不到,但是默认printf是缓冲输出的. fflush(stdout),使stdout清空,就会立刻输出所有在缓冲区的内容. fflush(stdout)这个例子可能不太明显,但对stdin很明显. 如下语句: int a,c; scanf("%d",&a); c=getchar(); 输入: 12(回车) 那么 a=12 ,c= '\n' 而: int a,c; scanf("%d",&a); fflush(
-
Linux C字符串替换函数实例详解
Linux C字符串替换函数实例详解 最近学习linux 的基础编程知识,字符串替换函数,在网上找下资料,觉得这篇文章写的不错,记录下来,和大家分享一下: 实例代码: #include <stdio.h> #include <string.h> #include <stdlib.h> /** * * @author: cnscn@163.com * @reference: lovesnow1314@http://community.csdn.net/Expert/Top
随机推荐
- ExtJS4 表格的嵌套 rowExpander应用
- PHP与SQL注入攻击防范小技巧
- js 浮动层菜单收藏
- 目录,文件操作详谈—PHP
- mysql获取字符串长度函数(CHAR_LENGTH)
- 详解JavaScript 中getElementsByName在IE中的注意事项
- CSS opacity - 实现图片半透明效果的代码
- 封装了一个自动生成渐变字的JS类(clip)
- Ruby中的方法(函数)学习总结
- Shell脚本实现在Linux系统中自动安装JDK
- 关于jQuery中的end()使用方法
- jquery $("#variable") 循环改变variable的值示例
- JS实现的自定义显示加载等待图片插件(loading.gif)
- 将Datatable转化成json发送前台实现思路
- javascript实现简单的二级联动
- 基于php使用memcache存储session的详解
- SpringMVC实现通过邮件找回密码功能
- Android中编写属性动画PropertyAnimation的进阶实例
- 基于Android AIDL进程间通信接口使用介绍
- spring-session简介及实现原理源码分析