我正在尝试从以下的html解析标题:
"Website (Newton) at datanucleus.org">Website</a></div>
我正在使用indexOf
:strLine.indexOf("\">Website")
我想知道如何在链接之前搜索第一个SPACE。所以我想捕捉“”和“”&gt;网站&lt;“
之间的所有内容即。 datanucleus.org
有什么想法吗?谢谢!
答案 0 :(得分:1)
如果您有int idx = str.indexOf(“\”&gt; Website“),您可以使用String.lastIndexOf(”“,idx);来获取前一个空格。然后使用子字符串!
答案 1 :(得分:0)
正则表达式方法可能是最有效的。但是,您可以结合indexOf
,lastIndexOf
和substring
来电来执行此操作。
int end = strLine.indexOf("\"Website");
int blank = strLine.substring(0, end).lastIndexOf(' ');
String interestingStuff = strLine.substring(blank + 1, end);
答案 2 :(得分:0)
我认为这就是你想要的:
int end = strLine.indexOf("\">Website");
int start = strLine.lastIndexOf(" ", end);
来自lastIndexOf
的文档:
返回指定子字符串最后一次出现的字符串中的索引,从指定的索引开始向后搜索。
还有lastIndexOf
的版本需要char
而不是字符串;在这种特殊情况下可能更有效(但我没有检查过):
int start = strLine.lastIndexOf(' ', end);
对于更复杂的事情,您还可以考虑查看java.util.regex包。