2013-03-04 107 views
1

我想从包含分隔符$的字符串提取值并将它们存储在三个变量中。我需要在我的Jmeter脚本中传递变量的值。用分隔符提取值的正则表达式

输入:

“蓝天航空公司$ $ 630 $ 270 12:23”

这里的分隔符为$,所以我需要的follwoing值存储在独立的变量:

Blue Skies Airlines,630,270,12:23

所需的输出:

VAR1 =蓝天航空公司,VAR2 = 630,VAR3 = 270,VAR4 = 12:23

请帮助。我正在尝试各种组合,但它不起作用。我只需要在JMETER中可以使用的正则表达式,它可以完成上述操作。

+5

你不能用split()?在这里:http://jmeter.apache.org/usermanual/functions.html#__split – Aditi 2013-03-04 11:16:24

+0

我是新的jmeter ...但我可以在哪里使用它? – user2131458 2013-03-04 11:37:10

+0

请问您可以在脚本中添加一些关于何处以及如何使用此功能的详细信息?请帮忙!!! – user2131458 2013-03-04 12:35:23

回答

0

您可以使用JSR223 PostProcessor(任何其他后处理器,如Beanshell也会这样做)。添加一个JSR223后置处理器,选择语言为javascript。保存在变量被分割字符串和在所述后处理器添加以下代码:

var str=vars.get("stringtosplit").toString(); 
var strArray = str.split("$"); 
vars.put("userResponse",strArray); 

这里stringtosplit是要拆分的含有可变量字符串。该函数会将结果字符串数组保存在变量userResponse中。

+0

谢谢Ruchit ...但如何访问字符串变量:我用$ {userResponse_g1} $ ...它不工作..请帮助 – user2131458 2013-03-05 13:50:28

+0

我需要添加一些东西到JSR223后置处理器中传递的参数部分? – user2131458 2013-03-05 13:51:51

+0

在调试采样器中,我看到响应为userResponse = [Ljava.lang.String; @ 24f2f2 – user2131458 2013-03-05 13:56:39

0

我们必须设置为以下格式

Blue Skies Airlines\$([0-9]+)\$([0-9]+)\$(.+) 

正则表达式的值,并获得价值像的JMeter以下

$1$ as 630 
$2$ as 270 
$3$ as 12:37