从字符串JAVA中提取字符串

时间:2015-04-18 07:43:34

标签: java string parsing

您好我想提取" Hello,World!" "和"和段落"这是一个最小的....."来自JAVA中的给定字符串。我在提取方面遇到问题,有人可以帮我解决吗?

所以我总是得到不同的字符串,并希望在2个方括号[] ...... []之间提取字符串。

String s1="[sh1] Hello, World! [/s11] and [pp]This is a minimal "hello world" HTML document. It demonstrates the basic structure of an HTML file and anchors. [/xy]"

由于

2 个答案:

答案 0 :(得分:1)

使用模式&匹配方括号的匹配器:

Pattern pattern = Pattern.compile("\\[[^\\]]*\\]([^\\]]*)\\[[^\\]]*\\]");
Matcher matcher = pattern.matcher(s1);
while (matcher.find()) {
  System.out.println( "Found value: " + matcher.group(1).trim() );
}

演示:https://ideone.com/kNKBgg

答案 1 :(得分:0)

请不要使用RegEx-es来执行此操作(它是模式和匹配器的功能) - 请参阅here,了解您不应该这样做的原因。虽然您可以将此用于特定的括号示例,但如果您希望完整的HTML不这样做。

如果要从HTML中提取内容,请使用解析器,例如SAXParser或DOMParser - 有关示例,请参阅Oracle documentation