java 中将文本中url 转成 可点击的链接
来源:互联网 发布:发小说的软件 编辑:程序博客网 时间:2024/05/03 11:50
package com.kuaibao.skuaidi.texthelp;import java.util.regex.Matcher;import java.util.regex.Pattern;public class TextToLink { /** * URL转换为链接 * @author 顾冬冬 * @param urlText * @return String */ public static String urlToLink(String urlText){ // url的正则表达式 String regexp = "((http[s]{0,1}|ftp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)"; // 结束条件 Pattern pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(urlText); String resultText = "";// (临时变量,保存转换后的文本) int lastEnd = 0;// 保存每个链接最后一会的下标 while(matcher.find()){ resultText += urlText.substring(lastEnd, matcher.start()-1); resultText += "<a href=\"" + matcher.group() + "\">" + matcher.group() + "</a>"; lastEnd = matcher.end(); } resultText += urlText.substring(lastEnd); return resultText; }}
在这里需要说明的方法:
matcher.find()
最后,将上面返回的结果设置到文本框中,不过要注意的是下面两行代码(必须设置了才可以点击和转换哦):
tv_notice_content.setText(Html.fromHtml(TextToLink.urlToLink(带链接的文本)));//tv_notice_content.setMovementMethod(LinkMovementMethod.getInstance());// 对这个控件设置了以后就可以点击 了
tv_notice_content.setText(Html.fromHtml("<a href=\"" + <a target=_blank href="http://www.baidu.com">http://www.baidu.com</a> + "\">" + "《点击查看》" + "</a"));
上面这行代码呢就是将“《点击查看》”用来代替前面那段链接了。
如果有什么疑问一定要给我留言哦~我不怕批评,哈哈~望不吝赐教
0 0
- java 中将文本中url 转成 可点击的链接
- LinkTextView-可点击的文本
- 监听TextView中链接文本的点击事件
- (转)监听TextView中链接文本的点击事件
- js将文本中的url替换成可点击的超链接
- js将文本中的url替换成可点击的超链接
- JAVA中Unicode如可转成中文?
- java中将汉语转成拼音
- 点击文字变成可编辑的文本
- 带中文的地址nsstring 转成可传输url
- java中将String类型的数据转成Blob类型
- Java中将int 转成对应的16进制字符串
- 实现文本可点击
- JAVA 中URL链接中文参数乱码的处理方法
- JAVA 中URL链接中文参数乱码的处理方法
- JAVA 中URL链接中文参数乱码的处理方法
- JAVA 中URL链接中文参数乱码的处理方法
- JAVA 中URL链接中文参数乱码的处理方法
- C++接口定义,实现,继承接口类的子类,实例对象访问方法问题
- hbase权威指南阅读随手笔记二之过滤器
- c++头文件的#ifndef/#define/#endif
- ListView中convertView和ViewHolder的工作原理
- 使用Libtomcrypt RSA/ECC等加密算法到项目中
- java 中将文本中url 转成 可点击的链接
- cocos2d-x 3.2 LabelTTF 解决中文乱码
- 对编程的一些建议
- Kruskal算法求最小生成树
- 【JAVA】获取网页的单词数并输出到CSV
- 实施电子采购节省采购成本超过5000万-五冶集团电子采购平台
- 关于Xcode Crash文件分析问题
- 在 iOS 应用中直接跳转到 AppStore 的方法
- 启动多个Redis实例