正则表达式问题C#或Java

时间:2015-08-05 12:54:43

标签: java c# regex loadrunner vugen

我有一串文本,我试图在Loadrunner中分成几部分 以下是两种可能的文字组合

309-95-90570-0243-023-0030

222-627-90570-0365-042-0031

我需要能够打破" -"内部的每个部分。分成变量。

例如,变量需要

第一个变量 - 来自第一个集合的309和来自第二个集合的222

第一个例子中的第二个变量bc变得棘手,它包含两个字符,在第二个例子中它包含三个字符。

第二个变量 - 来自第一个集合的95和来自第二个集合的627

第三个变量 - 来自第一个集合的90570和来自第二个集合的90570

有谁知道我会如何做到这一点?

2 个答案:

答案 0 :(得分:0)

只需使用分割功能。例如:

String foo = "309-95-90570-0243-023-0030";
String[] bar = foo.split("-"); 
for (String s : bar) {
     System.out.println(s);
}

此外,您始终可以使用Integer.parseInt(value);

将值从string更改为int

答案 1 :(得分:0)

这是一个可以完成工作的功能。

    public static List<List<string>> GetSplitedValues(IList<string> _inputList )
    {

        string[] splitwords = _inputList[0].Split('-');
        List<string>[] _ouputList = new List<string>[splitwords.Length];
        for(int i=0;i<_ouputList.Length;i++)
        {
            _ouputList[i]=new List<string>();
        }
        for (int i = 0; i < _inputList.Count; i++)
        {
            string[] _splitwords = _inputList[i].Split('-');
            for (int j = 0; j < splitwords.Length; j++)
            {
                _ouputList[j].Add(_splitwords[j]);
            }
        }
        List<List<string> >_temp= new List<List<string>>();
        _temp.AddRange(_ouputList);
        return _temp;



    }

您可以使用这些行进行测试

 List<string> _a=new List<string>();
            _a.Add("222-627-90570-0365-042-0031");
            _a.Add("309-95-90570-0243-023-0030");
            List<List<string>> _o = GetSplitedValues(_a);
            foreach (var list in _o)
            {
                foreach (var str in list)
                {
                    Console.Write(str);
                }
                Console.WriteLine();
            }