gpt4 book ai didi

java - 如何在 Java 中解析一行文本?

转载 作者:行者123 更新时间:2023-12-01 12:45:13 25 4
gpt4 key购买 nike

我有一个 Java 程序,其中收到一行类似于以下内容的文本

clid=1 cid=2 client_database_id=1 client_nickname=Alessandro client_type=0|clid=2 cid=2 client_database_id=10 client_nickname=Braden client_type=1

文本是从 Teamspeak 查询接收的,并且始终具有相同数量的参数。我需要以一种可以接收 clid 值的方式解析它。通过了解 client_nickname 的值,例如,类似 clid.get("Alessandro")接收1 ,和clid.get("Braden")接收2 ,可能带有HashMap<String, Integer> .

是否有一种简单的方法来解析该格式的数据?

最佳答案

你也可以这样做。

static HashMap<String, HashMap<String, String>> extractData(String str) {
HashMap<String, HashMap<String, String>> data = new HashMap<>();
for(String s: str.split("\\|")) {
HashMap<String, String> entries = new HashMap<>();
for(String s2: s.split(" ")) {
String[] entry = s2.split("=");
entries.put(entry[0], entry[1]);
}
data.put(entries.get("client_nickname"), entries);
}
return data;
}

public static void main(String[] args) {
String str = "clid=1 cid=2 client_database_id=1 client_nickname=Alessandro client_type=0|clid=2 cid=2 client_database_id=10 client_nickname=Braden client_type=1";

HashMap<String, HashMap<String, String>> data = extractData(str);
System.out.println(data.get("Alessandro").get("clid"));
}

关于java - 如何在 Java 中解析一行文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24771938/

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