使用正则实现字符去重及多行去重
2016-02-02 17:41
330 查看
学会正则表达式对开发者而言是个非常有用的技能,很多功能可以简单的用一句正则来实现。
![](http://images2015.cnblogs.com/blog/746158/201602/746158-20160202174100225-1123547893.png)
![](http://images2015.cnblogs.com/blog/746158/201602/746158-20160202174102100-1632278145.png)
还可以利用此函数做基本数据类型去重:如字符数组,数值数组等
单行文本单字符去重
function DistinctString(s){ var a; while((a=s.replace(/(.)(.*?)\1/,"$1$2"))!=s) s=a; return s; }
![](http://images2015.cnblogs.com/blog/746158/201602/746158-20160202174100225-1123547893.png)
多行文本去除重复行
function DistinctLines(s){ var a; while((a=s.replace(/(^.+(?:\r\n|\r|\n|$))((?:.*(?:\r\n|\r|\n))*?)^\1(?:\r\n|\r|\n|$)/m,"$1$2"))!=s) s=a; return s; }
![](http://images2015.cnblogs.com/blog/746158/201602/746158-20160202174102100-1632278145.png)
还可以利用此函数做基本数据类型去重:如字符数组,数值数组等
var a=[123,1234,9123,123,123,1234,321,123,9123,,1234]; DistinctLines(a.join("\n")).split("\n").filter(s=>s.length).map(s=>parseFloat(s));
//[123, 1234, 9123, 321]
相关文章推荐
- js cookies存取删操作实例
- HashMap归档-超越昨天的自己系列
- jupyter notebook + pyspark 环境搭建
- 指针注意事项
- View工作流程
- UESTC 1271 Search gold
- javascript笔记整理(事件)
- zabbix监控应用连接数
- Convert Stream to UIImage
- jQuery - 编写jQuery插件的基本形式(上)
- audio 自动播放 iPhone微信客户端
- UESTC 1270 Playfair
- STM32 内存分布探究
- linux下查看opencv版本
- 多线程和多进程写的服务器到底差在哪?
- 倒计时
- 7.java 加解密技术系列之 AES
- 华为无线ap由fit升级到fat的方法
- Linux下grep显示前后几行信息
- canvas和paint得简单应用