根据不同的分隔符解析字符串

时间:2013-11-21 01:13:21

标签: java string split

< a href =“http://www.google.com”>谷歌< / A> < BR /> //没有空格

我正在尝试提取链接http://www.google.com以及Google文本

3 个答案:

答案 0 :(得分:1)

这应该可以胜任。

    String url = "<a href=\"http://www.google.com\">Google</a><br/>";
    String[] separate = url.split("\"");
    String URL = separate[1];
    String text = separate[2].substring(1).split("<")[0];

答案 1 :(得分:0)

您可以使用简单的正则表达式提取它。试试这个。

String s = "<a href=\"http://www.google.com\">Google</a><br/>";
Pattern pattern = Pattern.compile("<a\\s+href=\"([^\"]*)\">([^<]*)</a>");
Matcher matcher = pattern.matcher(s);
if (matcher.find()) {
    System.out.println(matcher.group(1));
    System.out.println(matcher.group(2));
}

答案 2 :(得分:0)

我在网络抓取工具中使用过滤器API,效果很好。

以下是API代码:

public static String filterHref( String hrefLine )
{
    String link = hrefLine;
    if ( !link.toLowerCase().contains( "href" ) )
        return "";
    String[] hrefSplit = hrefLine.split( "href" ); // split href="..." alt="...">...<...>

    link = hrefSplit[ 1 ].split( "\\s+" )[ 0 ]; // get href attribute and value
    if ( link.contains( ">" ) )
        link = link.substring( 0, link.indexOf( ">" ) );
    link = link.replaceFirst( "=", "" );
    link = link.replace( "\"", "" ).replace( "'", "" ).trim();
    return link;
}