/******
*函数名称:strcut
*函数说明:通过左边界、右边界,从字符串中截取子字符串
*注意事项:会申请新的内存,需要手动释放
******/
void strcut(char *strSrc, char* str, char *leftStr, char *rightStr)
{
char *st1, *st2;
int result, i = ;
i=strlen(leftStr);
st1 = (char*) strstr(strSrc, leftStr);
if (st1 != NULL){
st1 += i;
st2 = (char*) strstr(st1,rightStr);
if (st2 != NULL){
result = st2 - st1;
*(st1 + result) = '\0';
}
}
if ((st1 == NULL) || (st2 == NULL))
lr_error_message("Error: No substring found for the specified boundary");
else
lr_save_string(lr_eval_string(st1),str);
}

void strcut(char *strSrc, char* str, char *leftStr, char *rightStr)
{
char *st1, *st2;
int result, i = ;
i=strlen(leftStr);
st1 = (char*) strstr(strSrc, leftStr);
if (st1 != NULL){
st1 += i;
st2 = (char*) strstr(st1,rightStr);
if (st2 != NULL){
result = st2 - st1;
*(st1 + result) = '\0';
}
}
if ((st1 == NULL) || (st2 == NULL))
lr_error_message("Error: No substring found for the specified boundary");
else
lr_save_string(lr_eval_string(st1),str);
} Action()
{
lr_save_string("{\"code\": \"00000000\", \"msg\": \"成功\", \"transId\": \"f6079c11ac9d463bb219acba8bc3448c\",\"data\": {\"randId\":\"e02a104a4a2f421b93bdb8f6d9daf7c0\"}}","allRes2"); strcut(lr_eval_string("{allRes2}"), "randId", "randId\":\"","\"}"); lr_output_message("randId:%s",lr_eval_string("{randId}")); return ;
}

void web_reg_save_param_custom(char *sourceStr, char* outpuStr, char *leftBdry, char *rightBdry){     

	char *st1, *st2;

	int result, i = 0;

	i=strlen(leftBdry);

	st1 = (char*) strstr(sourceStr, leftBdry); 

	if (st1 != NULL){ 

		st1 += i;

		st2 = (char*) strstr(st1, rightBdry);

		if (st2 != NULL){

			result = st2 - st1;

			*(st1 + result) = '\0';

			}     
}   if ((st1 == NULL) || (st2 == NULL)) lr_error_message("Error: No substring found for the specified boundary"); else   lr_save_string(lr_eval_string(st1), outpuStr); 
} Action()
{ lr_save_string("xyzToken3234344endKey,","test");  web_reg_save_param_custom(lr_eval_string("{test}"), "Outputtest", "Token","endKey");   lr_output_message("切割后的值=%s",lr_eval_string("{Outputtest}"));  return 0;
}

深圳湖北籍软件测试群 275212937

loadrunner通过字符串左右边界提取字符串的更多相关文章

  1. loadrunner通过字符串左右边界切割字符串

    void web_reg_save_param_custom(char *sourceStr, char* outpuStr, char *leftBdry, char *rightBdry){    ...

  2. 字串符相关 split() 字串符分隔 substring() 提取字符串 substr()提取指定数目的字符 parseInt() 函数可解析一个字符串,并返回一个整数。

    split() 方法将字符串分割为字符串数组,并返回此数组. stringObject.split(separator,limit) 我们将按照不同的方式来分割字符串: 使用指定符号分割字符串,代码如 ...

  3. 使用Java正则表达式提取字符串中的数字一例

    直接上代码: String reg = "\\D+(\\d+)$"; //提取字符串末尾的数字:封妖塔守卫71 == >> 71 String s = monster. ...

  4. C++ 提取字符串中的数字

    C++ 提取字符串中的数字 #include <iostream> using namespace std; int main() { ] = "1ab2cd3ef45g&quo ...

  5. [原]Java面试题-将字符串中数字提取出来排序后输出

    [Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...

  6. 【Teradata SQL】从中文数字字母混合字符串中只提取数字regexp_substr

    目标:从中文数字字母的字符串中只提取数字 sel regexp_substr('mint choc中文11国1','\d+')

  7. 提取字符串substring()

    substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法: stringObject.substring(startPos,stopPos)  参数说明: 注意: 1. 返回的内 ...

  8. fortran中提取字符串中可见字符的索引

    fortran中常常需要提取字符串中可见字符的索引,下面是个小例子: !============================================================= su ...

  9. Swift3 Scanner用法之判断是否数字、提取字符串里的数字

    1.判断是否数字 /// 判断是否是数字 /// /// - Parameter string: <#string description#> /// - Returns: <#re ...

随机推荐

  1. android为什么不允许新开启一个线程来更新UI,而是用handler来更新界面

    下面是快速创建一个新线程的方法: 第一种:直接创建子线程并启动      new Thread() {@Overridepublic void run() {     //这里写入子线程需要做的工作  ...

  2. hue创建的hdfs数据在hdfs无法删除的问题。

    在linux时删除时出现: rmr: Permission denied: user=root, access=ALL, inode="/user/root/.Trash/191128080 ...

  3. Python用积分思想计算圆周率

    [文本出自天外归云的博客园] 早上起来突然想求圆周率,1单位时圆的面积. 代码如下: from math import pow, sqrt def calc_circle_s_with(r, dy, ...

  4. IDEA @override处标红

    报错问题如下 这个是没有导入父类,无法重写父类的方法 创建项目的时候没有使用jdk1.6以上的版本.将版本更正就好了

  5. cent os 部署blade

    一:安装docker 二:安装docker-compose 三:安装Harbor 四:配置Harbor使用https和2376端口 在/etc/docker 目录下面创建文件:create_tls_c ...

  6. 【转】Notepad++如何设置行高

    Notepad++行高没有提供正式的设置方法,但可以通过一个 hack 来调整: 在[设置]「Style Configurator」对话框(中文是「语言格式设置」)里选择语言的地方选第一项「Globa ...

  7. reentrant,thread-safe 和 async-signal-safe

    可重入,线程安全和异步信号安全POSIX定义: Reentrant Function A function whose effect, when called by two or more threa ...

  8. 从支付宝SDK的支付流程理解什么是公钥和私钥,什么是加密和数字签名

    ------------------- 这是自己总结: 支付宝SDK支付用到的公钥与私钥整理如下: 1.商户应用公钥    2.商户应用私钥 3.支付宝公钥 4.支付宝私钥   商户应用的公钥与私钥生 ...

  9. C#.NET XML 与 实体 MODEL 互转,非序列化

    只能处理简单结构XML 和 实体. using System.Text; using System.Xml; namespace A.Util { public static class MyXmlU ...

  10. 解决vue项目在ie浏览器缓存问题。

    ie浏览器一直是程序员的噩梦.项目在谷歌浏览器上完美运行.在ie浏览器上,缓存问题真心恶心.后台查看了资料说在接口上加上时间戳或随机数就行了.要是这样干,工作量真心大啊.后来我对我们公司大神封装的ax ...