gpt4 book ai didi

java - 分割字符串时不带空格

转载 作者:行者123 更新时间:2023-12-02 06:10:35 25 4
gpt4 key购买 nike

我有以下字符串,它是由外部程序(OpenVAS)生成的,并作为字符串成功返回到我的程序。

<create_target_response id="b4c8de55-94d8-4e08-b20e-955f97a714f1" status_text="OK, resource created" status="201"></create_target_response>

我正在尝试拆分字符串以给出“b4c8d....14f1”,而无需使用引号。我尝试了各种转义方法,并不断得到 else 方法“字符串不包含目标 ID”。我尝试删除检查字符串的 IF 语句,但仍然存在相同的问题。目标是将我的 id 字符串放入 jTextField6 中。 String Lob 包含上面的完整字符串。

     if (Lob.contains("id=\"")){
// put the split here
String[] parts = Lob.split("id=\"");
String cut1 = parts[1];

String[] part2 = cut1.split("\"");
String TaskFinal = part2[0];

jTextField6.setText(TaskFinal);

}
else {
throw new IllegalArgumentException("String does not contain a Target ID");
}

} catch (IOException e) {
e.printStackTrace();
}

看来我只需要转义“而不是=(如果我这样做,Java会引发错误)

提前致谢

编辑:现在使用 jSoup lib 的代码 - “id”字符串不会显示。有任何想法吗?谢谢

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
// TODO add your handling code here:
String TargIP = jTextField1.getText(); // Get IP Address
String TargName = jTextField5.getText(); // Get Target Name
String Vag = "8d32ad99-ac84-4fdc-b196-2b379f861def";
String Lob = "";

final String dosCommand = "cmd /c omp -u admin -w admin --xml=\"<create_target><name>" + TargName + "</name><hosts>" + TargIP + "</hosts></create_target>\"";
3</comment><config id='daba56c8-73ec-11df-a475-002264764cea'/><target id='" + Vag + "'/></create_task>\"";
final String location = "C:\\";
try {
final Process process = Runtime.getRuntime().exec(
dosCommand + " " + location);
final InputStream in = process.getInputStream();
int ch;
while((ch = in.read()) != -1) {
System.out.print((char)ch);
Lob = String.valueOf((char)ch);
jTextArea2.append(Lob);


}

} catch (IOException e) {
e.printStackTrace();
}
String id = Jsoup.parse(Lob).getAllElements().attr("id");
System.out.println(id); // This doesn't output?
}

最佳答案

在"的基础上进行分割,可以得到所有的键值。

String str = "<create_target_response id=\"b4c8de55-94d8-4e08-b20e-955f97a714f1\" status_text=\"OK, resource created\" status=\"201\"></create_target_response>";
String[] tokens = str.split("\\\"");
System.out.println(tokens[1]);
System.out.println(tokens[5]);

输出:

b4c8de55-94d8-4e08-b20e-955f97a714f1
201

关于java - 分割字符串时不带空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21931880/

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