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

如何替换正则查找出的内容?
JScript code

var str = "<P><IMG src="http://img。zol。com。cn/product/60_500x2000/95/ce4Tb49FlCrvc。jpg" width=500 height=375></P><P><IMG src="http://img。zol。com。cn/product/60_240x180/88/cepb4HNN8Ynfo。jpg" width=240 height=180></P>";



正则查找出图片路径后,如何替换str中的“。”为“.”

如何返回下面的结果
JScript code

str = "<P><IMG src="http://img.zol.com.cn/product/60_500x2000/95/ce4Tb49FlCrvc.jpg" width=500 height=375></P><P><IMG src="http://img.zol.com.cn/product/60_240x180/88/cepb4HNN8Ynfo.jpg" width=240 height=180></P>";



求教,谢谢。

------解决方案--------------------
<script type="text/javascript">
var str = "http://img。zol。com。cn/product/60_240x180/88/cepb4HNN8Ynfo。jpg";
var reg =/。/g;
str = str.replace(reg,'.');
alert(str);
</script>
------解决方案--------------------
思路,用正则找出图片的路径,假设为strSrc,然后将strSrc以。为分隔符转化成数组,最后拼接数组成字符串,中间用.连接,代码如下:
不知道为什么JavaScript的replace只替换字符串的的第一个匹配字符!
字符串转换为数据的函数:
JScript code
function StringToArray(str,substr) { 
    /* 函数功能:字符串按照指定字符串分割转换为数组 
    参数: 
    str :需转换的字符串 
    substr:分割字符串 
    返回值: 
    转换后的数组 
    */ 
    var arrTmp = new Array(); 
    if(substr=="") { 
    arrTmp.push(str); 
    return arrTmp; 
    } 
    var i=0, j=0, k=str.length; 
    while(i<k) { 
    j = str.indexOf(substr,i); 
    if(j!=-1) { 
    if(str.substring(i,j)!="") { arrTmp.push(str.substring(i,j)); } 
    i = j+1; 
    } else { 
    if(str.substring(i,k)!="") { arrTmp.push(str.substring(i,k)); } 
    i = k; 
    } 
    } 
    return arrTmp;
  }