日期:2014-05-16  浏览次数:20375 次

js替换某一段的字符
本帖最后由 liuxu430524 于 2013-07-10 18:57:22 编辑
有一个字符串
var str=",42:5.000,142:8.00,";
现在已知一个变量a,他可能是42,也可能是142。
如果是42,则将5.000替换为12.00
如果是142,则将8.00替换为13.000
其实我就是想根据   ,ID号:, 将中间的数字给替换      

------解决方案--------------------
var str=",42:5.000,142:8.00,";
var a = "42", n = "12.00";
str=str.replace(new RegExp("((^
------解决方案--------------------
,)"+a+":)[^,]+"),"$1"+n);
alert(str);

------解决方案--------------------
呵呵,换个角度,跟你说个取巧的方法吧
1:将,42:5直接替换成,42:12
2:将,142:8直接替换成,142:13
replace()函数直接替换就成
------解决方案--------------------
引用:
呵呵,换个角度,跟你说个取巧的方法吧
1:将,42:5直接替换成,42:12
2:将,142:8直接替换成,142:13
replace()函数直接替换就成

好主意。
------解决方案--------------------
var str=",42:5.000,142:8.00,";
arr = str.split(',');
for(var i=0; i<arr.length; i++) {
  if(arr[i].indexOf(':') != -1) {
    arrs = arr[i].split(':');
    if(arrs[0] == '42') arrs[1] = '12.00';
    if(arrs[0] == '142') arrs[1] = '13.000';
    arrs = arrs.join(':');
    arr[i] = arrs;
  } 
}
str = arr.join(',');
alert(str);

------解决方案--------------------
replace 正则匹配
------解决方案--------------------
设变量获取“:”和“,”所在的索引   用indexof

截取索引间的字符串   and 替换~~~  具体怎么写忘了