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

我如何“找到”并“获取”两个字符串之间的值?

即: 3

我正在读取一个文件以找到的位置,从哪里开始,然后它会在找到时停止读取我要返回的值是“3”。

使用JRE 6

您的两个主要选项是:

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

 Jsoup.parse("3").select("a").first().text(); // => "3" 

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

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

Jsoup将很容易做到这一点。

 String title = Jsoup.parse("3").select("a").first().text(); 

你可以使用正则表达式:

 try { Pattern regex = Pattern.compile("(.*)"); Matcher regexMatcher = regex.matcher(subjectString); while (regexMatcher.find()) { for (int i = 1; i <= regexMatcher.groupCount(); i++) { // matched text: regexMatcher.group(i) // match start: regexMatcher.start(i) // match end: regexMatcher.end(i) } } } catch (PatternSyntaxException ex) { // Syntax error in the regular expression } 

但是,如果您的输入是HTML,您应该考虑使用HTML解析器。