有一个字符串,里面都是用',(逗号)'隔开的数字,只有一个数字出现了1次,其他所有数字都出现了2次。我如何通过正则匹配或者替换的方式,提取出这个只出现过1次的数字。
例如:
1.var一个字符串str和正则表达式re
var str = '112,112,1,1,3,3,234,234,4,22,22'; var re;
2.如何通过正则匹配或者替换,改变str的值为'4'
str = str.match(re); 或者 str = str.replace(re,'');//想让str值为'4'
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
正则匹配需要视实际情况而定,比如说:
var pattern1 = /\d+(?!,)$/g; var pattern2 = /\d+$/g; var str = '112,112,1,1,3,3,234,234,4'; console.log(str.match(pattern2)); //["4"] 或者直接这样: str.replace(/\d+,/g, ''); //'4' 更改题目后: 如果说其他所有数字都出现了2次都是挨着的,楼下的写法OK。 str += ','; str.replace(/(d+,)1+/g, '').replace(/,$/, ''); 如果不挨着,就不行,那就先处理下 var arr = str.split(','); arr.sort(); str = arr.join(','); str += ','; str.replace(/(d+,)1+/g, '').replace(/,$/, '');