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中的“。”为“.”如何返回下面的结果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>";
求教,谢谢。

解决方案 »

  1.   

    不能,先用正则查找出要替换的内容范围,再作替换。
    str只是内容的一部份节选。
      

  2.   

    http://img。zol。com。cn/product/60_500x2000/95/ce4Tb49FlCrvc。jpghttp://img。zol。com。cn/product/60_240x180/88/cepb4HNN8Ynfo。jpg这些属于要替换的内容范围
      

  3.   


    那就用正则查找出要替换的内容范围再替换呀?replace后再贴回去呀!为什么 replace 用不上了?
      

  4.   

    <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>
      

  5.   

    思路,用正则找出图片的路径,假设为strSrc,然后将strSrc以。为分隔符转化成数组,最后拼接数组成字符串,中间用.连接,代码如下:
    不知道为什么JavaScript的replace只替换字符串的的第一个匹配字符!
    字符串转换为数据的函数:
    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;
      }
    字符串处理:
    var strSrc="a。b。c";
     var b=StringToArray(strSrc,"。");
     alert(b.join("."));