提问者:小点点

如何解析带有自定义标记的字符串?


有人能告诉我如何解析下面的字符串吗?

“测试解析器-ankit7vikram8。此处有一些随机文本”

如何获得中的名称“ankit”?

我尝试了SAX解析器。 我认为XML解析器只有在的起始行才起作用。 我的理解正确吗?


共2个答案

匿名用户

因为您的文本不是有效的XML,而是提醒了更多的结构,比如HTML,它不是那么严格,所以考虑使用HTMLParser,比如https://jsoup.org/。 使用此库,您的代码可以如下所示

String myXML = "Testing the parser - <tag><name>ANKIT</name><id>7</id></tag> <tag><name>VIKRAM</name><id>8</id></tag>. Some random text here";
Document doc = Jsoup.parse(myXML, "", Parser.xmlParser());

String tag_name_text = doc.select("tag name")//CSS query to find <name> elements inside <tag> elements
                          .first()//take first result
                          .text();//get text it would generate in browser
System.out.println(tag_name_text);

输出:ankit

匿名用户

如果我没听错,试试看

StringName.SubString(StringName.LastIndexOf(“”),StringName.IndexOf(“”));