字符串转换,将前端传过来的json格式的数据转化为以“#”号隔开的格式的数据(replaceAll、substring和数组)

一、字符串转换,将前端传过来的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;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值