当前位置: 首页 > 面试题库 >

解析映射中具有key = value对的字符串?

景稳
2023-03-14
问题内容

我下面有String,其格式key1=value1, key2=value2需要将其加载到地图中(Map<String, String>)key=value因此我需要在逗号上分割,,然后加载cossn为键0及其值。

String payload = "cossn=0, itwrqm=200006033213";
Map<String, String> holder =
          Splitter.on(",").trimResults().withKeyValueSeparator("=").split(payload);

我在这里使用Splitter为我完成这项工作,但在某些情况下失败了。对于我的某些字符串,value具有一些带等号的字符串。所以对于下面的字符串,它对我来说是失败的:

String payload = "cossn=0, abc=hello/=world";

如何使它适用于上述情况?对于上述情况,key将为abc,值应为hello/=world。这可能吗?


问题答案:

您可以添加一个数字来表示要拆分多少个,只需添加2个即可拆分

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]);
        }

     }
}


 类似资料:
  • 问题内容: 我正在使用一种API,该API为我提供了XML,并且我需要从一个实际上是字符串的标签中获取一张地图。例: 有 我需要 问题在于字符串是完全动态的,因此它可以像 所以我不能只用逗号然后用等号分开。是否可以使用正则表达式将类似字符串的内容转换为地图? 到目前为止,我的代码是: 先感谢您 问题答案: 您可以使用 请参阅regex演示。 细节 -第1组:一个或多个单词字符 -等号 -第2组:除

  • 我有一个字符串和字符串的映射,其中有键/值对,如下所示。对于每个,我将有两个键,其值如下所示。 这只是一个例子,我将有更多相同格式的键/值对。唯一的区别是将是其他一些客户机,如,之后,管道中的编号也可能不同。这就是全部。 管道分隔格式中的每个值是什么意思:这里7是计数,0.1是平均值,0.2是中位数,0.3是第95个百分位数,0.3也是第99个百分位数。第二行也是如此。它将始终采用这种格式。 问题

  • 因此,通过对Stackoverflow的研究,特别是本主题,我已经确定在一个正常工作的getter/setter设置中嵌入了一个JSON对象字典。当我调用API时,属性的传统getter/setter工作得很好,但这是因为我知道属性的名称。如何使其适用于名为的对象的未知属性,以及该对象的格式是什么()? API响应: 我的POJO: 如何设置getter/setter和正确的字典格式(看起来可能是

  • 我需要一套<代码> 帐户类别具有以下属性: 到目前为止,我的解决方案如下: 我试过施法,但似乎不起作用。有人能告诉我,从现在开始我如何访问属性号吗?

  • 我有下面的字符串,我从打开一个文件得到的,其中包含我们的国家和他们的首都的列表 现在我想解析这个字符串并将其插入到一个映射对象map m=new HashMap()中;但我不知道如何解析/拆分各种元素... 国有资本-----------------------阿拉巴马州蒙哥马利阿拉斯加朱诺亚利桑那州凤凰城阿肯色州小石城加利福尼亚州萨克拉门托科罗拉多州丹佛康涅狄格州哈特福德特拉华州多佛佛罗里达州塔

  • 问题内容: 尝试使用gson将以下json字符串解析为java对象 我有我的java类 转换后,我得到的提示对象为空。 有人可以纠正我吗 问题答案: 试试这个JSON: 使用此Java类: 奇迹般有效 输出: