已知条件为: , : 表示当前属性值是用","连接在一起的
- :表示当前属性值是用"-"连接在一起的
\ :表示当前属性值是用"\"连接在一起的
* : 表示当前属性值是用"*"连接在一起的
$ : 表示当前属性值是用"$"累加在一起作为一个属性去匹配
已知规则:A,B-C\D,E&F&G-H\I
我需要将上面的规则先提取去掉这些特殊符号后的每个字母的值 例如他们代表的值为:a,b,c,d,e,f,g,h,i
然后得到结果为:a,b-c\d,efg-h\i,j
如何批量化生成结果(规则有多个,格式一致)
例子:
原始规则:
单位$价格,数量$尺寸-单价\名称,人员
我需要把上面的值去掉特殊符号后的结果 分别去查数据库 比如
单位 在数据库查到是 套
价格 在数据库查到是 100元
数量 在数据库查到是 10'
尺寸 在数据库查到是 100
单价 在数据库查到是 10元/套
名称 在数据库查到是 人物传记
人员 在数据库查到是 马老师
得到的最终结果是:
套100元,10'100-10元/套\人物传记,马老师
写的什么意思直接看不懂
搞定了
public static String check(String sr, String sccc, StringBuffer sb)
throws Exception {
// 先去掉所有的, 获取到每个值
// 遍历 将上面的值 截取-
// 遍历 将上面的值 截取$
for (String src : sr.split("\" + sccc)) {
// System.out.println(src +"----->"+src.contains(sccc)+"--->"+sccc);
if (src.contains("$")) {
sccc = "$";
check(src, sccc, sb);
} else if (src.contains("-")) {
sccc = "-";
check(src, sccc, sb);
} else {
System.out.println(src);
if (!isA2ZOra2z(src)) {
sb.append(src + ";");
}
}
}
System.out.println(sb);
String key = splitLastChar(sb.toString());
return key;
}
String ss = "单位$价格,数量$尺寸-单价\名称,人员";
String sk = check(ss, ",", new StringBuffer());
HashMap map = get();
for (String value : sk.split(";")) {
ss = ss.replace(value ,(String) map.get(value));
}
ss = ss.replace("$", "");
System.out.println(ss);