一、字符串转换,将前端传过来的json格式的数据转化为以“#”号隔开的格式的数据。
需求:在题目新增时,前端传过来的四个选项是json格式的数据,后端存入数据库的格式要求将四个选项以“#”隔开。
例如:将{"A":"招标人","B":"投标人","C":"设计单位","D":"施工单位"}
格式的数据转化为招标人#投标人#设计单位#施工单位
。
思路:先使用replaceAll
替换字符中的单引号“"”
,然后用substring()
函数截取大括号“{}”
,最后用数组遍历以“#”
替换“,”
。
具体代码实现:
/**
*
* @param optionAll
* @return 字符替换公方法
*/
public char[] characterSubstitutionMethood(String optionAll){
String h = "{\"A\":\"招标人\",\"B\":\"投标人\",\"C\":\"设计单位\",\"D\":\"施工单位\"}";
//{"A":"招标人","B":"投标人","C":"设计单位","D":"施工单位"} 替换jscon对象的双引号和大括号 招标人#投标人#设计单位#施工单位 "A:招标人,B:投标人,C:设计单位,D:施工单位"
String strOptionAll = (optionAll.replaceAll("\"","").substring(0,(optionAll.replaceAll("\"","")).length()-1)).substring(1);
//替换字符中含有A,B,C,D....字符 {"A":"招标人","B":"投标人","C":"设计单位","D":"施工单位"} 招标人#投标人#设计单位#施工单位 招标人,投标人,设计单位,施工单位
String strOptionAllT = strOptionAll.replaceAll("(?i)A:","")
.replaceAll("(?i)B:","")
.replaceAll("(?i)C:","")
.replaceAll("(?i)D:","")
.replaceAll("(?i)E:","")
.replaceAll("(?i)F:","")
.replaceAll("(?i)G:","")
.replaceAll("(?i)H:","")
.replaceAll("(?i)I:","")
.replaceAll("(?i)J:","")
.replaceAll("(?i)K:","")
.replaceAll("(?i)L:","")
.replaceAll("(?i)M:","")
.replaceAll("(?i)N:","");
//开辟一个数组存储替换之后的字符 A:A#B:B#C:C#D:D#E:E#A1:A1
char[] charOptionAll = new char[strOptionAllT.length()];
for (int i = 0; i < strOptionAllT.length(); i++) { //字符替换,将“,”替换为“#”号
if ((strOptionAllT.charAt(i)+"").equals(",")){
charOptionAll[i] ='#';
}else {
charOptionAll[i] = strOptionAllT.charAt(i);
}
}
return charOptionAll;
}