栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将key = value的字符串解析为Map

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将key = value的字符串解析为Map

您可以使用

(w+)=(.*?)(?=,w+=|$)

请参阅regex演示。

细节

  • (w+)
    -第1组:一个或多个单词字符
  • =
    -等号
  • (.*?)
    -第2组:除换行符以外的任何零个或多个字符,请尽可能少
  • (?=,w+=|$)
    -正向超前查询,需要一个
    ,
    ,然后是1+个单词字符,然后是
    =
    ,或者紧接当前位置右侧的字符串结尾。

Java代码:

public static Map<String, String> getAttributes(String attributes) {    Map<String, String> attr = new HashMap<>();    Matcher m = Pattern.compile("(\w+)=(.*?)(?=,\w+=|$)").matcher(attributes);    while (m.find()) {        attr.put(m.group(1), m.group(2));    }    return attr;}

Java测试:

String s = "Overtime=true,TransportCosts=1= 1,two, three,Billable=7200";Map<String,String> map = getAttributes(s);for (Map.Entry entry : map.entrySet()) {    System.out.println(entry.getKey() + "=" + entry.getValue());}

结果:

Overtime=trueBillable=7200TransportCosts=1= 1,two, three


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574461.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号