gpt4 book ai didi

带冒号的 Java SPLIT : and xml

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

我必须使用 : 拆分键值,但问题是该值是 XML。

("User1":"<?xml version=\"1.0\"?><presence xmlns=\"urn:ietf:params:xml:ns:pidf\" xmlns:dm=\"urn:ietf:params:xml:ns:pidf:data-model\" xmlns:rpid=\"urn:ietf:params:xml:ns:pidf:rpid\" xmlns:c=\"urn:ietf:params:xml:ns:pidf:cipid\" entity=\"ivaxer@tipmeet.com\"></presence>")

我想要的是一个键为 User1、值为 XML 的映射。

我尝试了 input.split(":"); 但这不起作用,因为它分割了 xml 命名空间中的所有内容。我尝试了 input.split("\\\":\""); 这没有任何作用。

也许一些正则表达式可以提供帮助,但我不知道它到底是什么。

最佳答案

如果您的 key 不包含冒号,您可以尝试以下操作:

    public static void main(String[] args) {
final String str = "\"User1\":\"<?xml version=\"1.0\"?><presence xmlns=\"urn:ietf:params:xml:ns:pidf\" xmlns:dm=\"urn:ietf:params:xml:ns:pidf:data-model\" xmlns:rpid=\"urn:ietf:params:xml:ns:pidf:rpid\" xmlns:c=\"urn:ietf:params:xml:ns:pidf:cipid\" entity=\"ivaxer@tipmeet.com\"></presence>";
final int firstIndexOfColon = str.indexOf(':');
if(firstIndexOfColon >= 0) {
final String key = str.substring(0, firstIndexOfColon);
final String val = ((firstIndexOfColon + 1) < str.length()) ? str.substring(1 + firstIndexOfColon) : "Empty value string";
System.out.println(key);
System.out.println(val);
} else {
System.out.println("No delimiter found");
}
}

否则,您必须更精确地指定语法,以便准备正则表达式。

关于带冒号的 Java SPLIT : and xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36978102/

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