问题:
存在一个字符串 params,值为 key1=value1;key2 = value2;... 模式的字符串。例如:
params = "name=tom;age= 18;high school = Futian Hight school; *Special Skills = Foot Ball,Basket Ball(*6 persons)"
要求:
1、对所有的value,如果其在列表varKeyList中,则在字符串中,其前后加上三个尖括号。
2、把 = 前后的空白字符去掉。(空白字符可能有,可能没有,可以为空格、TAP,可以有多个)
变成新的模式:key1=<<<value1>>>;key2=<<<value2>>>;... 例如:
params = "name=tom;age= 18;high school=<<<Futian Hight school>>>; *Special Skills=<<<Foot Ball,Basket Ball(*6 persons)>>>"
解决代码:
// 在字符串 varKey 前后 插入 <<<>>> public void insertScope(String params,String varKey) { // 需要用replaceAll 把模式匹配中的特殊字符 * 特殊处理一下 String pattern = "=\\s*"+varKey.replaceAll("\\*","\\\\*"); params = (pattern,"=<<<"+varKey+">>>"); Sy(params); } for (String varKey:varKeyList) { insertScope(params,varKey); }