在global.h中添加代码

/*

* @param char* dest 目标串,也就是替换后的新串
* @param const char* src 源字符串,被替换的字符串
* @param const char* oldstr 旧的子串,将被替换的子串
* @param const char* newstr 新的子串
* @param int len 将要被替换的前len个字符 */ char *lr_strreplace(char *dest, char *src, const char *oldstr, const char *newstr, size_t len){ char *needle;  //子串位置指针 char *tmp; //临时内存区 //如果串相等,则直接返回
if(strcmp(oldstr, newstr)==0){    return src;
} dest = src;   //把源串地址赋给指针dest,即让dest和src都指向src的内存区域 //如果找到子串, 并且子串位置在前len个子串范围内, 则进行替换, 否则直接返回
while((needle = (char *) strstr(dest, oldstr)) && (needle -dest <= len)){ //分配新的空间: +1 是为了添加串尾的'\0'结束符
tmp=(char*)malloc(strlen(dest)+(strlen(newstr)-strlen(oldstr))+1); strncpy(tmp, dest, needle-dest);  //把src内的前needle-dest个内存空间的数据,拷贝到arr tmp[needle-dest]='\0';  //标识串结束 strcat(tmp, newstr);  //连接arr和newstr, 即把newstr附在arr尾部, 从而组成新串(或说字符数组)arr strcat(tmp, needle+strlen(oldstr));  //把src中 从oldstr子串位置后的部分和arr连接在一起,组成新串arr dest = (char *)strdup(tmp);  //把用malloc分配的内存,复制给指针retv free(tmp);   //释放malloc分配的内存空间 } return dest;  }

在Action中调用

Action()
{
//11041331","11041372","11041373","11041374
//11041331|11041372|11041373|11041374 char *str; char *old="\",\"";  //需要替换的字符串"," char *new="|";   char *dest; lr_save_string("11041331\",\"11041372\",\"11041373\",\"11041374", "src"); str=lr_eval_string("{src}"); lr_output_message("替换前的字符串=%s",lr_eval_string("{src}")); lr_output_message("替换后的字符串=%s",lr_strreplace(dest,str,old,new,strlen(str))); return 0;
}

补充:

int main()
{
char *str="http://192.168.1.1:58763/result.xml";
char *old="192.168.1.1";
char *new="127.0.0.1"; char *dest;
//分配内存空间: 大小 == src的长度 + newstr和oldstr长度差(可能是正负或0)+1
printf("%s\n",strreplace(dest, str, old, new,1));
printf("%s\n",strreplace(dest, str, old, new,5));
printf("%s\n",strreplace(dest, str, old, new,9));
printf("%s\n",strreplace(dest, str, old, new,11)); printf("%s\n",strreplace(dest, str, old, new,40)); if(dest)
{
free(dest);
}
return 0; }

LoadRunner替换字符串(可以同时替换多个)的更多相关文章

  1. js replace替换字符串,同时替换多个方法

    在实际开发中,经常会遇到替换字符串的情况,但是大多数情况都是用replace替换一种字符串,本文介绍了如何使用replace替换多种指定的字符串,同时支持可拓展增加字符串关键字. let conten ...

  2. html(jQuery)替换字符串(全部替换)

    var  str= "a<br/>b<br/>c<br/>"; var Newstr = str.replace("<br/&g ...

  3. sql语句格式化数字(前面补0)、替换字符串

    以下是详细分析: 1.select power(10,3)得到1000(即:10的3次方) 2.select cast(1000+33 as varchar) 将1000转换类型(即:将int转化成v ...

  4. Linux中使用sed命令替换字符串小结

    sed替换的基本语法为: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义,但是单引号”‘”是没有办法用反斜线”\”转义的 ...

  5. linux替换字符串的几种方法

    1. 基本替换:s/str1/str2/ 替换当前行第一个str1为str2:s/str1/str2/g 替换当前行所有str1为str2:n,$s/str1/str2/ 替换第 n 行开始到最后一行 ...

  6. 在LoadRunner中查找和替换字符串

    参考<Search & Replace function for LoadRunner>: http://ptfrontline.wordpress.com/2009/03/13/ ...

  7. loadrunner中自定义查找并替换函数

    globas.h中定义 //LoadRunner中没有直接的函数支持查找并替换字符串,因此可以封装一个lr_replace函数出来: // ------------------------------ ...

  8. [No0000A4]DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度

    1.替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串.举例说明其功能:========================================= @echo off set a ...

  9. 在Vi里面实现字符串的批量替换

    在Vi里面实现字符串的批量替换. a. 文件内全部替换: %s#abc#def#g(用def替换文件中所有的abc) 例如把一个文本文件里面的"linuxidc.com"全部替换成 ...

随机推荐

  1. Java for LeetCode 215 Kth Largest Element in an Array

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  2. Effective C++ -----条款38:通过复合塑模出has-a或“根据某物实现出”

    复合(composition)的意义和public继承完全不同. 在应用域(application domain),复合意味has-a(有一个).在实现域(implementation domain) ...

  3. CODE VS1008选数

    #include<cstdlib> #include<cstdio> #include<iostream> #include<cmath> #inclu ...

  4. css 命名规范

    网站头部:    head/header(头部) top(顶部)    导航:   nanv 导航具体区分:topnav(顶部导航).mainnav(主导航).mininav(迷你导航).textna ...

  5. 20145213《Java程序设计》第五周学习总结

    20145213<Java程序设计>第五周学习总结 教材学习内容总结 "素衣莫起风尘叹,犹及清明可到家."每每念此,不得不心疼自己.古人清明长假都进城耍了,还担心自己清 ...

  6. Orleans是什么 (一)

    官网:http://dotnet.github.io/orleans/ 文档:http://dotnet.github.io/orleans/What's-new-in-Orleans 源码:http ...

  7. 55. Jump Game leetcode

    55. Jump Game Total Accepted: 95819 Total Submissions: 330538 Difficulty: Medium Given an array of n ...

  8. NYOJ题目611练练

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAssAAAJ1CAIAAACgqiqJAAAgAElEQVR4nO3du27jSp4HYL+Ecj2IYz

  9. sqlite建表语句(特别是外键问题)

    原创  sqlite建表语句(特别是外键问题) 下面图表示两个表关系: //表1User_invitecreate table User_invite(Invite_id INTEGER PRIMAR ...

  10. wireshark使用

    http://jingyan.baidu.com/article/7f41ececede744593c095c79.html