Java正则表达式提取字符串中的URL链接
有时候会有一些需求,需要提取用户输入文本中的链接。比如提取抖音、火山、小红书、微视、皮皮虾、快手等平台分享的文本里的链接地址。如果靠自己去写正则表达式,也是可以的,但是情况太多了,可能考虑不够全面。而且上述平台分享的文本也是一直在变化的,所以适用性要足够普遍。万幸,Android本身就提供了这样的方法,如下:
import android.util.Log; import android.util.Patterns; import java.util.regex.Matcher; /** * Java正则表达式提取字符串中的URL链接. */ public class LinkPatternsUtil { private static final String TAG = LinkPatternsUtil.class.getSimpleName(); public static String getLinkFromString(String data) { String link = ""; Matcher matcher = Patterns.WEB_URL.matcher(data); if (matcher.find()) { link = matcher.group(); //打印日志 Log.e(TAG, "link = " + link); } return link; } }
其中起作用的方法是Patterns.WEB_URL.matcher(data),负责匹配URL。
使用方法如下:
String data = "3.56 XzG:/ 复制打开抖音,看看【直男说的作品】黑龙江第五大城市房价回到2007,小城市房价鹤岗化... https://v.douyin.com/6dKc1Uu/"; LinkPatternsUtil.getLinkFromString(data);
输出结果如下:
LinkPatternsUtil: link = https://v.douyin.com/6dKc1Uu/
经过测试,微视、抖音、快手等亲测可用。如果您是Java后端,需要用到Patterns源码,可以到下面下载:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。