如何在两个字符串之间找到值?

Mar*_*rio 3 java

我如何"找到"和"获取"两个字符串之间的值?

即: <a>3</a>

我正在读取一个文件来找到<a>它的起始位置,然后它会在找到时停止读取</a>我想要返回的值是"3".

使用JRE 6

mae*_*ics 12

您的两个主要选项是:

1)首选但可能很复杂:使用XML/HTML解析器并在第一个"a"元素中获取文本.例如使用Jsoup(感谢@ alpha123):

Jsoup.parse("<a>3</a>").select("a").first().text(); // => "3"
Run Code Online (Sandbox Code Playgroud)

2)更容易但不太可靠:使用正则表达式提取字符串<a></a>字符串之间的字符.例如:

String s = "<a>3</a>";
Pattern p = Pattern.compile("<a>(.*?)</a>")
Matcher m = p.matcher(s);
if (m.find()) {
  System.out.println(m.group(1)); // => "3"
}
Run Code Online (Sandbox Code Playgroud)

  • 只要标签没有嵌套,正则表达式就是可靠的 (2认同)

Pet*_*r C 6

Jsoup将很容易做到这一点.

String title = Jsoup.parse("<a>3</a>").select("a").first().text();
Run Code Online (Sandbox Code Playgroud)