首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析name=value^^name=value^^name=value

如何解析name=value^^name=value^^name=value
EN

Stack Overflow用户
提问于 2012-10-19 22:42:42
回答 1查看 262关注 0票数 0

我的问题:,它非常具体。我试图想出最简单的解析以下文本的方法:

代码语言:javascript
复制
^^domain=domain_value^^version=version_value^^account_type=account_type_value^^username=username_value^^password=password_value^^type=type_value^^location=location_value^^id=xxx^^cuid=cuid_value^^

每次都会出现这样的情况。以下几项要求:

  • 并不是所有的键值对每次都会出现。
  • 它们的顺序可能不一样

我在找这样的代码:

代码语言:javascript
复制
private String[] getKeyValueInfo(String allStuff) {
  String domain = someAwesomeMethod("domain", allStuff);
  String version = someAwesomeMethod("version", allStuff);
  String account_type = someAwesomeMethod("account_type", allStuff);
  String username = someAwesomeMethod("username", allStuff);
  String password = someAwesomeMethod("password", allStuff);
  String type = someAwesomeMethod("password", allStuff);
  String location = someAwesomeMethod("location", allStuff);
  String id = someAwesomeMethod("id", allStuff);
  String cuid  = someAwesomeMethod("cuid", allStuff);
  return new String[] {domain, version, account_type, username, password, type, location, id, cuid};
}

我不知道的是someAwesomeMethod(String key, String allStuff)应该包含什么。

我在想:是这样的:

代码语言:javascript
复制
private String someAwesomeMethod(String key, String allStuff) {
  Pattern patt = Pattern.compile("(?i)^^" + key + "=(.*?)^^", Pattern.DOTALL);
  Matcher matcher = patt.matcher(allStuff);
  if (matcher.find()) {
    return matcher.group(1);
  }
  return null;
}

这是怎么回事:

我担心如果我不得不这么做的话,会有点慢/麻烦。所以我在找任何建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-19 22:47:20

如果你非要这么做的话,我会做一张地图,类似于

代码语言:javascript
复制
Map<String, String> m = new HashMap<String, String>();
for (String s : stuff.split("\\^\\^"))  // caret needs escaping
{  
    String[] kv = s.split("=");
    m.put(kv[0]) = kv[1];
}

然后,要查找一个键,只需执行m.get("key")

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12983430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档