<script language=javascript>
var xx="abc def";
var i=3;
var s = xx.substring(0, i);
s += xx.substring(i+1, xx.length)
alert(s)
</script>

解决方案 »

  1.   

    txx=xx.substring(0,i-1)+xx.substring(i+1,length(xx)-i);
    xx=txx;
      

  2.   

    txx=xx.substring(0,i-1)+xx.substring(i+1,length(xx)-i);此句不通,length(xx)???是JS还什么语言??自己没测试过吧
      

  3.   

    to meizz(梅花雨):
    你可真是厉害呀!我在好几个地方都见到你的回答了。
      

  4.   

    <script language=javascript>
    var xx="abc def";
    var i=3;
    var s = xx.substr(0, i)+xx.substr(i+1)
    alert(s)
    </script>
      

  5.   

    <script language=javascript>
    var xx="abc def";
    var i=3;
    var re=new RegExp("(.{"+i+"}).")
    var s = xx.replace(re,"$1")
    alert(s)
    </script>to chjpeng(鵬) 
    js:xx.length-i
    vbs:len(xx)-i
      

  6.   

    謝謝秋水,是function(parameters)這種用法 :)
      

  7.   

    <script language=javascript>
    var xx="abc def";
    var i=3;
    var str="";
    for(i=0;i<xx.length;i++)
    if(i!=3)
    str+=xx.charAt(i)
    alert(str)
    </script>
      

  8.   

    to bencalie(Bencalie) ,不如用ArrayIE5.5+用
    <script language=javascript>
    var xx="abc def";
    var i=3;
    var tmp=xx.split("")
    tmp.splice(i,1);
    var str=tmp.join("");
    alert(str)
    </script>否则用
    <script language=javascript>
    var xx="abc def";
    var i=3;
    var tmp=xx.split("")
    var str=tmp.slice(0,i).concat(tmp.slice(i+1)).join("");
    alert(str)
    </script>
      

  9.   

    returnString = xx.substring(0,i)+xx.substring(i+1);
      

  10.   

    哇﹗秋水的正則真的用得登峰造極﹐經常見你回答都可以用正則表達式解決﹐佩服佩服同感!pfpf
      

  11.   

    呵呵,记得以前有人说解决单词重复,这个比较简单。可惜我还没看懂。<script language=javascript>
    var xx="Is is the cost of of gasoline going up up?";
    alert(xx.replace(/\b([a-z]+) \1\b/gi,"$1"));
    </script>
      

  12.   

    修改秋水的正则:var xx="abc def";
    var i=4;
    alert(eval("xx.replace(/(.{"+i+"})./,'$1');"));
      

  13.   

    I See 关键在于 (  ),嘿嘿。终于搞懂了<script>
    var tmp = "aaaaaaaaaaaaaaaaaaa";
    alert(tmp.replace(/(a)*/g,"$1"));
    </script>匹配连续的a成一个a。
      

  14.   

    我用了另外一种REGEXP方法实现的。刚刚会用,有点笨拙:)<script language=javascript>
    var xx="abc def";
    /(.){4}/.test(xx);
    alert(xx.replace(RegExp.$1,""));
    </script>
      

  15.   

    呵呵,秋水看到会笑话我的,上个写法是错的,下面这个才是正确的。不好意思,献丑了。<script language=javascript>
    var xx="abc def";
    alert(xx.replace(/(.{3})./,"$1"));
    </script>
      

  16.   

    晕呼,我怎么写得跟秋水一样啊?呵呵,我终于弄明白秋水写的是怎么回事了。将前三个匹配保存到引用中,而紧接着的一个字符没有保存,过程是这样的。abc def"abc" -> 保存到$1中
    匹配"abc ",并将其替换成$1中的内容("abc"),嘿嘿,秋水兄,我没说错吧?
      

  17.   

    谢qiushuiwuhen,以下按你的思路来的,没有IE 5测试:<script language=javascript>
    var xx="abc def";
    var i=3;
    var tmp=xx.split(xx.charAt(i)).join("")
    alert(tmp)
    </script>
      

  18.   

    呵呵,又被你发现了,不过我还是要坚持在xx.charAt(i)上走下去:<script language=javascript>
    var xx="abc def ghi";
    var i=3;
    var tmp=xx.replace(xx.charAt(i),"")
    alert(tmp)
    </script>
      

  19.   

    tmp=xx.replace(xx.charAt(i),"")可以把xx的第i個字符替換掉?如果是應該是這個最易懂最簡單
    正則表達式應該是功能最強的,可惜我還不會,不知秋水有沒什么學習資料介紹一下?謝謝!
      

  20.   

    var xx="a b def ghi";
      

  21.   

    真是失败,再来一次:<script language=javascript>
    var xx="a c def ghi";
    var i=3;
    var re=new RegExp("^(.{"+i+"})"+xx.charAt(i))
    var tmp=xx.replace(re,"$1")
    alert(tmp)
    </script>
      

  22.   

    完了,还是回去到前面秋水正则代码的思路<script language=javascript>
    var xx="a b def ghi";
    var i=3;
    var re=new RegExp("(.+"+xx.charAt(i-1)+")"+xx.charAt(i),"g")
    var tmp=xx.replace(re,"$1")
    alert(tmp)
    </script>xxx.charAt(i)的定位始终是个问题,放弃了:(
      

  23.   

    呵呵,charAt只能记录字符,而不能反映位置信息,所以自然是有问题的。
      

  24.   

    var xx="abc dc ghi";
      

  25.   

    bencalie(Bencalie)你真惨,被秋水如此追击:)RegExp后面那个g不能加,加了以后就是匹配所有结果,而不是第一个结果了。
      

  26.   

    原因不在g上,在于.+,属于贪婪匹配(尽可能多),正则的基础
    当然gi可省的时候尽量省,犯了不止一次了,忠言逆耳,呵呵
      

  27.   

    没有注意他用的是.+ ,一看到他回到正则表达式的路上,我就认为用的是一定长度的。那么这样说来,应该.+和g两个都要修改才能正确了。否则再来一个
    var xx="abc abc ghi"
    还是要出问题。
      

  28.   

    謝謝runmin(Blue RainBow),看來我不能再偷懶,該認真的看一下書了,前几天都下載了,還沒有看 :)
      

  29.   

    :)
    我也没想到会如此糟糕,暂时还没想到用xx.charAt(i)的好办法,我继续思考
      

  30.   

    xx="abc def";
    i=3;
    alert(xx.split("").splice(i,1).join(""))这里没有IE6,未测试。
      

  31.   

    呵呵本来还有netscape可以测试的,可是ns对splice的理解和IE不同,它要返回被删除的元素。