Java 如何解析给定的字符串?

Java 如何解析给定的字符串?,java,parsing,text-parsing,Java,Parsing,Text Parsing,嗨,伙计们,我被赋予了一项任务来解析来自服务器的字符串 字符串如下所示: <first name=$Jon$ last name=$Doe$/><first name=$Doe$ last name=$Jon$/><first name=$r$ last name=$k$/> i、 e 我做了一些简单的文本解析,包括一个简单的分隔符,比如$或a%。 但在这种情况下,我不明白如何解析文本。您的帮助将非常有用。将服务器中的$in xml字符串替换为“,”将其加载

嗨,伙计们,我被赋予了一项任务来解析来自服务器的字符串

字符串如下所示:

<first name=$Jon$ last name=$Doe$/><first name=$Doe$ last name=$Jon$/><first name=$r$ last name=$k$/>
i、 e

我做了一些简单的文本解析,包括一个简单的分隔符,比如$或a%。
但在这种情况下,我不明白如何解析文本。您的帮助将非常有用。

将服务器中的$in xml字符串替换为“,”将其加载为xml文档,使用XPath或其他机制解析所需的信息。

可以通过多种方式找到解决方案

  • 可以将XSLT与Java结合使用。(Java提供TransformerFactory、Transformer等API)
  • 可以像eclipse一样在IDE中使用XSLT。有几个插件可用
  • 您可以查看
    www.vogella.com/articles/XSLT/article.html

  • 可以使用unix脚本执行相同的操作


  • 这不是你问题的确切解决方案,但你可以尝试解决。同样,也可以有许多其他方法可以确定。

    Matcher keys=Pattern.compile(“[尝试将数据拆分为子字符串(如)解析这个子字符串似乎你缺少了一些编程的基本知识。你到底有什么问题?@Borna如果这么简单,那么你的答案在哪里?让我试试。你能给我一个例子吗。你能用一个例子详细说明一下吗?两个链接都有一些例子。我想m.find()事实上,while是values.find(),它可以工作,谢谢。我想我必须在Matcher和Pattern上工作。
    
            Matcher keys = Pattern.compile("[<\\s)](.*?)[=]").matcher(string);
            Matcher values = Pattern.compile("[$](.*?)[$]").matcher(string);
            while(keys.find() && values.find()) {
                System.out.println(keys.group(1)+" : "+values.group(1));
            }
    
    key: value
    
            Matcher keys = Pattern.compile("[<\\s)](.*?)[=]").matcher(string);
            Matcher values = Pattern.compile("[$](.*?)[$]").matcher(string);
            while(keys.find() && values.find()) {
                System.out.println(keys.group(1)+" : "+values.group(1));
            }