字符串查找和替换接口

int replace_str(std::string& str, const char * oldpart, const char * newpart)

{

int
nReplaced= 0;

std::string::size_type nIdx= 0;

std::string::size_type nOldLen= strlen(oldpart);

if ( 0 == nOldLen )

return 0;

static const char ch = 0x00;

std::string::size_type nNewLen= strlen(newpart);

const char* szRealNew= newpart == 0 ? &ch : newpart;

while ( (nIdx=str.find(oldpart, nIdx)) != std::string::npos )

{

str.replace(str.begin()+nIdx, str.begin()+nIdx+nOldLen, szRealNew);

nReplaced++;

nIdx += nNewLen;

}

return nReplaced;

}

功能: 从str中查找oldpart, 并替换成newpart.

时间: 2024-08-12 17:05:50

字符串查找和替换接口的相关文章

Java实验项目三——递归实现字符串查找和替换操作

Program:按照下面要求实现字符串的操作: (1)设计一个提供下面字符串操作的类 1)编写一个方法,查找在一个字符串中指定字符串出现的次数. 2)编写一个方法,参数(母字符串,目标字符串,替换字符串)将母字符串中的所有目标字符用替换字符串替换. 3)编写一个方法,判断一个email地址是否合法. (2)编写一个测试类,对(1)中的字符串类的方法逐一进行测试. Description:前两个问题采用递归实现,最后一个问题,采用正则验证.代码如下: 1 /* 2 * Description:采用

实现字符串的查找和替换

在字符串中查找目标字符串并将其替换为指定字符串,返回替换的次数.接口为 int find_str_replace(char *&str,const char *find_str,const char *replace_str) 将str中所有find_str替换为replace_str.要求不利用STL,c实现代码如下: #include<stdio.h> #include<string.h> #include<stdlib.h> //查找str从fromwhe

在LoadRunner中查找和替换字符串

参考<Search & Replace function for LoadRunner>: http://ptfrontline.wordpress.com/2009/03/13/search-replace-function-for-lr/ LoadRunner中没有直接的函数支持查找并替换字符串,因此可以封装一个lr_replace函数出来: // -------------------------------------------------------------------

linux shell 字符串操作(长度,查找,替换,匹配)详解

linux shell 字符串操作(长度,查找,替换,匹配)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同     ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${va

【python cookbook】【字符串与文本】6.以不区分大小写的方式对文本做查找和替换

问题:以不区分大小写的方式对文本做查找和替换 解决方法:使用re模块,并对各种操作都添加上re.IGNORECASE标记 text='UPPER PYTHON,lower python,Mixed Python' print (re.findall('python',text,re.IGNORECASE)) print (re.sub('python','snake',text,flags=re.IGNORECASE)) >>> =============================

【python cookbook】【字符串与文本】5.查找和替换文本

问题:对字符串中的文本做查找和替换 解决方案: 1.对于简单模式:str.replace(old, new[, max]) 2.复杂模式:使用re模块中的re.sub(匹配的模式, newstring, oldstring[,替换个数])函数 3.re.subn()可以获得替换的总次数 # example.py # # Examples of simple regular expression substitution import re #simple sample text1='yeah,b

Linux查找和替换目录下所有文件中字符串(转载)

转自:http://rubyer.me/blog/1613/ 单个文件中查找替换很简单,就不说了.文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结. 查找文件夹下包含字符串的文件 例:查找/usr/local目录下所有包含”rubyer.me”的文件. grep -lr 'rubyer.me' /usr/local/* vim替换单个文件中所有字符串方法 例:替换当前文件中所有old为new :%s/old/new/g #%表示替换说有行,g表示替换一行中

Shell脚本学习指南 [ 第三、四章 ] 查找与替换、文本处理工具

摘要:第三章讨论的是编写Shell脚本时经常用到的两个基本操作.第四章总共介绍了约30种处理文本文件的好用工具. 第三章 查找与替换 概括:本章讨论的是编写Shell脚本时经常用到的两个基本操作:文本查找.文本替换. 3.1  查找文本 如需从输入的数据文件中取出特定的文本行,主要的工具为grep程序.POSIX采用三种不同grep变体:grep.egrep.fgrep整合为单个版本,通过不同的选项,分别提供这三种行为模式.who | grep -F root上面使用-F选项,以查找固定字符串r

Word查找和替换通配符(完全版)

Word查找栏代码·通配符一览表 序号 清除使用通配符复选框 勾选使用通配符复选框 特殊字符 代码 特殊字符 代码or通配符 1 任意单个字符 ^? 任意单个字符 ? 2 任意数字 ^# 任意数字(单个) [0-9] 3 任意英文字母 ^$ 任意英文字母 [a-zA-Z] 4 段落标记 ^p 段落标记 ^13 5 手动换行符 ^l 手动换行符 ^l or ^11 6 图形 ^g or ^1 图形 ^g 7 1/4长划线 ^+ 1/4长划线 ^q 8 长划线 ^j 长划线 ^+ 9 短划线 ^q