我有一串显示如下......
1235,3,1343,5,1234,1
我需要用分号替换每隔一个逗号
即。
1235,3; 1343,5; 1234,1字符串长度将始终不同,但将遵循与上述相同的模式,即数字逗号空格数字逗号空格等。
我怎么能用javascript做到这一点?有可能吗?
谢谢, 麦克
答案 0 :(得分:8)
'1235, 3, 1343, 5, 1234, 1'.replace(/([0-9]+),\s([0-9]+),\s/g, '$1, $2; ')
答案 1 :(得分:7)
var s = '1235, 3, 1343, 5, 1234, 1';
var result = s.replace(/(,[^,]*),/g,"$1;");
答案 2 :(得分:4)
var s='1235, 3, 1343, 5, 1234, 1';
s=s.replace(/([^,]+,[^,]+),/g,'$1;')
匹配任何不是逗号的内容,后跟逗号, 其次是任何不是逗号和逗号的内容。
用自身('$ 1')替换parens(不包括最后一个逗号)内部的everthing,并添加分号代替该逗号。
答案 3 :(得分:3)
怎么样:
var regex = /(\d+),\s(\d+),\s/g;
var str = '1235, 3, 1343, 5, 1234, 1';
alert(str.replace(regex, '$1, $2; ')); // 1235, 3; 1343, 5; 1234, 1
答案 4 :(得分:2)
var myregexp = /(\d+,\s\d+),/g;
result = subject.replace(myregexp, "$1;");
答案 5 :(得分:0)
var foo = "1235,3,1343,5,1234,1".replace(/(.\*?),(.\*?),/g, "$1,$2;");
console.log(foo)