Dart开发中如何移除字符串内包含的所有URL链接
实现方案
通过正则表达式匹配字符串中所有符合URL格式的子串,再全局替换为空字符串即可实现需求,以你给出的Dart代码场景为例,完整实现如下:
// 原始字符串 final String a = 'aaaaaaaaaa=http://url.com/bla1/blah1/'; // 匹配http/https协议URL的正则表达式 final RegExp urlRegex = RegExp( r'https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)' ); // 替换所有URL为空 final String processedStr = a.replaceAll(urlRegex, ''); print(processedStr); // 输出结果:aaaaaaaaaa=
如果需要匹配ftp、websocket等其他协议的URL,只需修改正则的协议匹配部分即可,比如将开头的https?:改为(https?|ftp|ws|wss):就能覆盖更多协议场景。
内容的提问来源于stack exchange,提问作者Lang Minh Nguyễn
相关产品推荐
相关产品推荐

