gpt4 book ai didi

java - 使用模式和匹配器从字符串中获取特定值

转载 作者:行者123 更新时间:2023-11-30 11:40:44 25 4
gpt4 key购买 nike

我想使用返回给我的模式 (ssid, psk, proiority) 作为key以及与每个 关联的。如果有办法理解我必须使用的表达方式喜欢

Pattern.compile("(\\w+?):(\\w+?),")

回复我。

这是我的字符串

network={
ssid="name"
psk="password"
key_mgmt=WPA-PSK
priority=1
}

network={
ssid="another name"
psk="another password"
key_mgmt=WPA-PSK
priority=1
}

最佳答案

这是一个丑陋的解决方案:

我将您的文本输入到名为 file.txt 的文件中,并通过 BufferedReader 读取它

public static void main(String[] args) throws Exception {
File f = new File("src/test/file.txt");
BufferedReader read = new BufferedReader(new FileReader(f));
String temp;
String result = "";
while ((temp = read.readLine()) != null) {
result += temp;
}
result = result.replaceAll("\\{", " ");
result = result.replaceAll("\\}", " ");
result = result.replaceAll("network=", " ");
result = result.trim();

String[] list = result.split("[ ]+(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
for (String s : list) {
s = s.trim();
Pattern p = Pattern.compile("(.*)=(.*)");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println("Key: " + m.group(1));
System.out.println("Value: " + m.group(2));
}
}

}

这是我的输出:

Key: ssid
Value: "name"
Key: psk
Value: "password"
Key: key_mgmt
Value: WPA-PSK
Key: priority
Value: 1
Key: ssid
Value: "another name"
Key: psk
Value: "another password"
Key: key_mgmt
Value: WPA-PSK
Key: priority
Value: 1

关于java - 使用模式和匹配器从字符串中获取特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12584566/

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