当前位置: 代码迷 >> Java Web开发 >> 请问一个有关问题 怎么获取一个字符串中的所有连接
  详细解决方案

请问一个有关问题 怎么获取一个字符串中的所有连接

热度:100   发布时间:2016-04-17 10:34:02.0
请教一个问题 如何获取一个字符串中的所有连接?
RT

我现在有一个字符串

String str = "http://community.csdn.net dfsdfsadfsa www.google.com asdfsdfasdfsadf";

现在我想获取 http://community.csdn.net 和 www.google.com 

说明一下我的意图:

从数据库中获取到一个字符串 该字符串中会包含连接 http://community.csdn.net

我想在html显示为 <a href="http://community.csdn.net">http://community.csdn.net</a>这样

不知道我这样描述大家是否明白?

小弟刚接触程序不久

希望哪个高手帮我解决下..

------解决方案--------------------
我试了啊,jsp没什么问题。jsp里代码如下
Java code
<%@page import="java.util.regex.Pattern"%><%@page import="java.util.regex.Matcher"%>??    <%!        //正规表达      private static final Pattern GREEDY_URL_MATCH_PATTERN = Pattern.compile("(http\\://|https\\://|www\\.){1}([^\\x00-\\x20()\"<>\\x7F-\\xFF])*(\\.com|\\.net|\\.cn|\\.org)", Pattern.CASE_INSENSITIVE);      //URL取出      private List<String> findURL(Pattern pattern, String text){        List<String> list = new ArrayList<String>();        Matcher matcher = pattern.matcher(text);        while(matcher.find()){          list.add(matcher.group());        }        return list;      }      //获取转换Link后的字符串      public String convertToAnchorStr(String str) {        List<String> urlLst = findURL(GREEDY_URL_MATCH_PATTERN, str);        for (String url:urlLst) {            String a = "<a href='" + url + "'>" + url + "</a>";            str = str.replace(url, a);        }        return str;      }    %>    <%            String text1 = "http://community.csdn.net dfsdfsadfsa www.google.com asdfsdfasdfsadf";            String text2 = "sssssssssssssssshttp://www.baidu.comsadf,sfsdafCSDN";            out.println(convertToAnchorStr(text1) + "</br>");            out.println(convertToAnchorStr(text2));    %>
  相关解决方案