【问题标题】:Regular Expression Issue C# or Java正则表达式问题 C# 或 Java
【发布时间】:2015-10-28 06:25:54
【问题描述】:

我有一个文本字符串,我试图在 Loadrunner 中将其分解 这里有两种可能的文字组合

309-95-90570-0243-023-0030

222-627-90570-0365-042-0031

我需要能够将“-”内的每个部分分解为单独的变量。

例如变量需要是

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

第二个变量 bc 在第一个示例中包含两个字符,而在第二个示例中包含三个字符。

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

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

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

【问题讨论】:

  • 首先你需要决定一种语言,然后你需要自己付出一些努力。我们不是来为您完成工作,而是帮助您解决自己遇到的具体问题。
  • @KingofMasses,这怎么可能与电子邮件地址有关?
  • LoadRunner 是 C 语言产品,因此您可能需要 C 语言的解决方案。有许多可能的解决方案,包括使用带有“-”作为标记的 strtok()。 strstr() 可用于定位“-”的第一个实例,然后 strncpy 将前 n 个字符复制到另一个字符串。您还可以以递归方式播放原始字符串上的指针 &pointerstringvariablename[offset] 以获取从偏移量开始的字符串的最后一部分并重用 strstr() 和 strncpy()。 C 是使用 LoadRunner 的基础类技能,Java for JMETER 也是如此

标签: java c# regex loadrunner vugen


【解决方案1】:

只需使用拆分功能。示例:

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

您也可以使用Integer.parseInt(value); 将值从字符串转换为整数

【讨论】:

    【解决方案2】:

    这是一个可以完成这项工作的函数。

        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();
                }
    

    【讨论】:

      猜你喜欢
      • 2017-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多