源者鬼道
2021-11-26 11:20
采纳率: 100%
浏览 30
已结题

java -给定格式化字符串,解析其中对应内容

字符串格式如下:

area:0,price:4500,serviceFee:300;area:2452,price:4800,serviceFee:300

如果使用解析字符串,按位或是按字符拆分的话,容易出错;
换一个中更兼容的方式进行解析,最好是以键值对的方式进行解析,存入对象属性中,
求解?请各位帮忙解答,多谢

  • 好问题 提建议
  • 收藏

2条回答 默认 最新

  • JolyouLu 2021-11-27 18:39
    已采纳

    转换成json,然后用json工具解析出来,放入到map中

        public static void main(String[] args) {
            String str = "area:0,price:4500,serviceFee:300;area:2452,price:4800,serviceFee:300";
            String[] split = str.split(";");
            for (String s : split) {
                s = s.replaceAll(":","\":\"");
                s = s.replaceAll(",","\",\"");
                s = "{\""+s+"\"}";
    
                HashMap map = JSONObject.parseObject(s, HashMap.class);
                System.out.println(map.get("area"));
                System.out.println(map.get("price"));
                System.out.println(map.get("serviceFee"));
            }
        }
    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 半醉人间leo 2021-11-26 11:24

    split(";").split(",")

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题