比如有段文字,“I have something to do”,如果我给出“some”,就将句子中的“some”变成“[some]”。如果句子是“I have Something to do”,给出“some”,句子中的“Some”也需要变成“[Some]”,第一种直接string.replace就可以,但是第二种怎么办

解决方案 »

  1.   

    //用正则表达式替换
    var str = 'I have Something to do';
    str = str.replace(/(some)/i, '[$1]');
      

  2.   


    <script>
       var arr="I have Something to do,I have something to do".split(',');
       for(var i=0;i<arr.length;i++){
    document.write(arr[i].replace(/(some)/i,'[$1]'));
       }
    </script>
      

  3.   


    //加上g模式即可进行全局匹配替换:
    str = str.replace(/(some)/ig, '[$1]');
      

  4.   


    如果给出的some是个变量呢,比如var a = "some",那要怎么写
      

  5.   

    给出的some是变量怎么办如var a = "some";
      

  6.   

    var str = 'I have Something to do,I have something to do';
    var a = 'some';function myReplace(k, s) {
    var patt = new RegExp('(' + k + ')', 'ig');
    return s.replace(patt, '[$1]');
    }alert(myReplace('some', str));
      

  7.   


    非常感谢,work perfectly