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)); %>