Parse a string with key=value pair in a map? [duplicate]

泄露秘密 提交于 2019-11-29 17:30:35

you can add a number to say how many splits you want just add a 2 to split

import java.util.HashMap;

public class HelloWorld{

     public static void main(String []args){
        HashMap<String, String> holder = new HashMap();
        String payload = "cossn=0, abc=hello/=world";
        String[] keyVals = payload.split(", ");
        for(String keyVal:keyVals)
        {
          String[] parts = keyVal.split("=",2);
          holder.put(parts[0],parts[1]);
        }

     }
}

You can do this same thing with the Splitter API directly:

Map<String, String> result = Splitter.on(',')
    .trimResults()
    .withKeyValueSeparator(
        Splitter.on('=')
            .limit(2)
            .trimResults())
    .split(input);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!