我正在尝试创建一个方法,该方法采用 String 参数,然后返回参数名称和值的二维 String 数组。
protected final String[][] setParams (String parms) {
String[][] params;
int i = 0;
Pattern p = Pattern.compile(NEED_REGEX_HERE);
Matcher m = p.matcher(parms);
params = String[m.groupCount()][2];
while (m.find()) {
params[i][0] = m.group(i).subString(0,m.group(i).indexOf('='));
params[i][1] = m.group(i).subString(m.group(i).indexOf('='));
i++;
}
return params;
}
输入的一些示例是(在引号内):
"Name=Ryan;\;Name=John"
"Name=Ryan;Name=John"
"Name=Ryan"
"Name=Ryan;Index=1"
所以一个“;” 是列表分隔符,赋值运算符“=”表示有效参数,即。“\”是一个丢弃值。基本上我正在寻找一个允许我这样做的正则表达式,或者如果有人可以提供一个更优雅的解决方案。