public String smsSplicing(String content, Map<String,String> map,String replace)
{
int n = 0; //记录 ?数量
String content1 = content; //定义变量接收内容
HashSet list = new HashSet(); //使用hashSet去重
while(content1.indexOf(replace)!=-1) {
int i = content1.indexOf('?'); //获取第一个?下标
n++;
content1 = content1.substring(i+1); //获取第一个?往后的所以字符串
if(n%2!=0) {
list.add(content1.substring(0, content1.indexOf("?"))); //获取下
一个?下标进行截取获得?包裹字符
}
}
if(map.size()!=list.size()){ //判断传入参数是否与内容需替换参数相等
return "xx";
}
Set<Map.Entry<String, String>> entry = map.entrySet();
for (Map.Entry<String, String> m : entry) {
if (m.getValue()==""||m.getValue().isEmpty()){
return "5";
}
String key = m.getKey();
String value = m.getValue();
log.info(key+"---"+value);
String replaces = replace+key+replace;
if (content.contains(replaces)==true){
content = content.replace(replaces,value);
log.info(content);
}else {
return "4";
}
}
log.info("拼接后的内容:"+content);
return content;
}
评论0