java清除所有微博短链接

java实现微博短链接清除,利用正则,目前只支持微博短链接格式为"http://域名/字母或数字8位以内"的链接格式,现在基本通用

如果链接有多个,返回结果中会有多出的空格,请注意!

实现代码:

1.测试版



      public static void main(String[] args) {

// System.out.println(testFilter("刚在#微操盘#卖出的这支600111 包钢稀土 又挣钱了!有木有!人品爆发了有木有! http://t.cn/zlrQS3L",

// "微操盘"));

String text = "#转播越多,http://url.cn/79H8ORhttp://url.cn/79H8OR收获越http://t.cn/79H8OR多#予人玫瑰,手留余香。“一键转播”精彩内容至腾讯微博,分享给好友,还可淘Q币,赢公仔!转播越多,机会越多~拿起鼠标疯狂转起来,转出自己的style!http://url.cn/79H8ORqqwweerrtt";

// String regex = "http://t.cn/\\w+";

text = text.replace("http://", " http://");

System.out.println(text);

// /后面字符在这[A-Za-z0-9_]之内,都会被匹配

// String regex = "(http://(url|t).cn/\\w+)";

// /后面字符在这[A-Za-z0-9_]之内,只会匹配0~7次

String regex = "(http://(url|t).cn/\\w{0,7})";

text = text.replaceAll(regex, "");

System.out.println(text);

text = WebUtil.filterSpecialChar(text);

System.out.println(text);

}


2.正式版


/**

* 清除所有微博短链接

*

@param s

*            文本

@return 清除所有链接后的文本,返回内容中会多一些空格,请注意

*/

public static String clearWeiboShortUrl(String s) {

// 如果要清除的链接有多个的话,还需要清除为了清除多个链接而补充的空格,不然内容中会多出空格来

if (null != s) {

// 各大微博链接

// http://163.fm/XY9AT9z

// http://url.hexun.com/1JX44

// http://yicai.net/WMK8r

// http://t.cn/79H8OR

// http://t.itc.cn/79H8OR

// http://url.cn/79H8OR

// Matcher matcher =

// Pattern.compile("(http://(url|t).cn/)").matcher(s);

// 各大微博链接不一致,修改域名任意

Matcher matcher = Pattern.compile("(http://[\\w.]+/)").matcher(s);

int count = 0;

while (matcher.find()) {

count++;

// System.out.println(matcher.group());

}

// int count =

// Pattern.compile("(http://(url|t).cn)").matcher(s).groupCount();

if (count > 0) {

if (count > 1) {

s = s.replace("http://", " http://");

}

// /后面字符在这[A-Za-z0-9_]之内,都会被匹配

// String regex = "(http://(url|t).cn/\\w+)";

// /后面字符在这[A-Za-z0-9_]之内,只会匹配0~10次

// String regex = "(http://(url|t).cn/\\w{0,10})";

// 域名任意,/后面字符在这[A-Za-z0-9_]之内,只会匹配0~10次

String regex = "(http://[\\w.]+/\\w{0,10})";

s = s.replaceAll(regex, "");

}

}

return s;

}


时间: 2024-10-02 17:25:56

java清除所有微博短链接的相关文章

微博短链接的生成算法(Java版本)

最近看到微博的短链接真是很火啊,新浪.腾讯.搜狐等微博网站都加入了短链接的功能.之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少.短链接的主要职责就是把原始链接很长的地址压缩成只有6 个字母的短链接地址,当我们点击这6 个字母的链接后,我们又可以跳转到原始链接地址. 开始以为短链接是按照某种算法把原始链接压缩为短链接,再根据算法从短链接反算成原始链接的.后来尝试了下压缩算法(gzip 压缩算法),发现对于url 这种字符串越是压缩,长度就越长

[转载]微博短链接算法

PHP版算法 function shorturl($url='', $prefix='', $suffix='') {     $base32 = array (         'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',         'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',         'q', 'r', 's', 't', 'u', 'v', 'w', 'x',         'y', 'z', '0', '

java高仿新浪微博短链接地址生成工具ShortUrlGenerator.java

原文:仿新浪微博 短链接地址生成工具 ShortUrlGenerator.java 源代码下载地址:http://www.zuidaima.com/share/1550463378934784.htm 仿新浪微博 短链接地址生成工具 ShortUrlGenerator.java String sLongUrl = "http://www.zuidaima.com/share/1550463378934784.htm"; // 3BD768E58042156E54626860E241E9

微博短链接算法php版本

思路:1)将长网址md5生成32位签名串,分为4段, 每段8个字节;2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址; 下面是PHP代码: function shorturl($url='', $prefix='', $suffix='') {

Android-微博短链接正则表达式与特殊文本高亮

做新浪微博第三方客户端时,对正文内容的特殊字符(如网页短链接.##话题.@人名等)进行高亮变色,需要用到以下几个正则表达式. 1 /**微博短链接正则表达式*/ 2 static final String regex_http = "http(s)?://([a-zA-Z|\\d]+\\.)+[a-zA-Z|\\d]+(/[a-zA-Z|\\d|\\-|\\+|_./?%=]*)?"; 3 static final String regex_at = "@[\\u4e00-\

生成短链接的URL

假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常短例如: http://t.cn/E70Piib, 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的ID,可是这个有大小写字母和数字构成的唯一ID是怎么生成的呢,刚学编程的时候我们用的方法都试拼接一个足够唯一的字符串(比如时间戳加用户ID等等)然后再用MD5或者SHA1散列算法算出一个散列值,用这种方法得到的唯一ID有可能比原始的链接的长度还要长,所以如何来优雅的生成足够短的字符串唯一ID呢? 我们

java 短连接+MD5加密短链接

java 短连接+MD5加密短链接 import java.security.MessageDigest; public class ShotUrlUtil { public static void main(String[] args) { System.out.println(shortUrl("http://www.baidu.com/")); } public static String shortUrl(String url) { String[] chars = new S

URL短地址压缩算法 微博短地址原理解析 (Java实现)

最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没有找到Java版的短网址(ShortUrl)的算法,很是郁闷.同时还发现有不少网友在发帖求助,怎么实现Java版的短网址(ShortUrl)的算法.干脆一不做,二不休,参考了一下网上比较流行的PHP版短网址(ShortUrl)算法: 再根据自己的理解,用Java实现了该短网址(ShortUrl)的算法.(\(^o^)/YES!我还真厉害!) 先来废话一下,是在别人的

Java 域名短链接服务原理及解决方案

一.背景 现在在各种圈的产品各种推广地址,由于URL地址过长,不美观.不方便收藏.发布.传播以及各种发文字数限制等问题,微信.微博都在使用短链接技术.最近由于使用的三方的生成.解析短链接服务开始限制使用以及准备收费.不方便统计分析.不方便流控等问题,决定自建一个短地址服务. 二.原理 比如,http://a.b.com/15uOVS 这个短地址 第1步,浏览器请求这个地址 第2步,通过DNS后到短地址服务端,还原这个短地址对应的原始长地址. 第3步,请求http 301 或302到原始的长地址上