我有这个字符串
40993648 70381211 - PAOLA MILENA PEREZ SUAREZ40993648 70381211 - CARLOS FERNANDO PEREZ CADAVID
数字可以改变。
所以我想消除这个重复的数字
40993648 70381211 - PAOLA MILENA PEREZ SUAREZ 40993648 70381211 - CARLOS FERNANDO PEREZ CADAVID
含义:第二个数字序号(70378111)和第三个数字序列号(40993648)。
我是怎么做到的?
注意:所有字符串都可以随时更改。
答案 0 :(得分:1)
我使用了JQuery。以下代码只删除第二个和第三个数字序列。我希望适合你。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<p></p>
<script>
var str = "40993648 70381211 - PAOLA MILENA PEREZ SUAREZ 40993648 70381211 - CARLOS FERNANDO PEREZ CADAVID";
var arr = str.split(' ');
var new_arr = [];
var counter = 0;
$.map(arr, function(n, i) {
if ( $.isNumeric(n) ) {
if ( ( counter !== 1 ) && ( counter !== 2 ) ) {
new_arr.push(n);
}
counter++;
} else {
new_arr.push(n);
}
return n;
});
$('p').append(new_arr.join(' '));
</script>
</body>
</html>
答案 1 :(得分:0)
您可以使用正则表达式捕获所有但您不想要的数字,然后将它们重新组合在一起。
<强>的JavaScript 强>
var str = "40993648 70381211 - PAOLA MILENA PEREZ SUAREZ 40993648 70381211 - CARLOS FERNANDO"
var regex = /(\d+) \d+(.* )\d+ (\d+.*)/
var result = str.match(regex)
result.slice(1,result.length).join("")
/* 40993648 - PAOLA MILENA PEREZ SUAREZ 70381211 - CARLOS FERNANDO */
编辑:只需在var regex
中用逗号替换空格。
<强>的JavaScript 强>
var str = "40993648,70381211 - PAOLA MILENA PEREZ SUAREZ 40993648,70381211 - CARLOS FERNANDO PEREZ CADAVID"
var regex = /(\d+),\d+(.* )\d+,(\d+.*)/
var result = str.match(regex)
result.slice(1,result.length).join("")
/* 40993648 - PAOLA MILENA PEREZ SUAREZ 70381211 - CARLOS FERNANDO PEREZ CADAVID */
<强>资源:强>
http://www.regular-expressions.info是阅读正则表达式的好地方。大多数语言都支持正则表达式。
https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions专门为JavaScript提供了很好的文档。
RegexPal非常适合在JavaScript中测试正则表达式。