gpt4 book ai didi

java - 如何解析名称=值^^名称=值^^名称=值

转载 作者:行者123 更新时间:2023-12-01 17:28:47 24 4
gpt4 key购买 nike

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

^^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^^

每次都会出现这样的情况。一些要求:

  • 并非所有这些键值对每次都会出现。
  • 它们的顺序可能不同

我正在寻找类似这样的代码:

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) 应该包含什么。

我在想什么:是这样的:

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

这有什么问题:

我担心如果我必须经常这样做的话会有点慢/麻烦。所以我正在寻找任何提示/建议。

最佳答案

如果你必须做很多事情,我会制作一张 map ,类似于

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

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

关于java - 如何解析名称=值^^名称=值^^名称=值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12983430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com