在javaScript中怎样在一个字符串中删除它包含的另外一个字符串呢?
String s1="......15702,75421,78454......";
String s2="75421";
要求输出s3="15702,78454......";
(注:s1字符串长度不定,s2在S1中的位置是未知的)

解决方案 »

  1.   


    public static void main(String[] args){
    String s1="15702,75421,78454";
    String s2 = "75421,";
    System.out.println(s1.replaceAll(s2, ""));
    }
      

  2.   

    public class TestString {
    public static void main(String[] args) {

    String orderStr="15702,75421,78454";
    String mString="75421";
    TestString ts= new TestString();
    System.out.println(ts.getString(orderStr, mString)); } public String getString(String orderStr, String midStr) { if (orderStr.contains(midStr)) { return orderStr.replace(midStr, ""); } else { return null; }
    }}
      

  3.   

    直接用replace函数,把要删除的替换为空格,呵呵!
      

  4.   

    <script type="text/javascript">
    var str = "ni haofjkdljkfd";
    var first = str.substring(0,str.indexOf("fjkdl"));
    var last = str.substring(str.indexOf("fjkdl") + "fjkdl".length,str.length);
    document.write(first+ last);
    </script>
      

  5.   

    String s1="......15702,75421,78454......";
    String s2="75421";var index = s1.indexOf(s2);
    var length = s2.length;
    var str = s1.substring(0,index);
    var str2 = s1.substring(index + length + 2);
    var s3 = str + str2;
      

  6.   

    <script type="text/javascript">
    var str = "ni haofjkdljkfd";
    var first = str.substring(0,str.indexOf("fjkdl"));
    var last = str.substring(str.indexOf("fjkdl") + "fjkdl".length,str.length);
    document.write(first+ last);
    </script>
      

  7.   


    var x = "132456,15702,75421,78454";
    var y = "15702";
    var end = x.substr(0, 7) + x.substr((x.indexOf(y) + y.length + 1));
    alert(end);
      

  8.   

    var end = x.substr(0, 7) + x.substr((x.indexOf(y) + y.length + 1));
    是什么意思呀?能否解释下?
      

  9.   

    var str2 = s1.substring(index + length + 2);  这里的长度要+2吧,在一般情况下要+1,这里要多去掉一个逗号,7楼+1改下,6楼就不用说了。
      

  10.   

    <html>
    <body><script type="text/javascript">function test()
     {
     var s1 = "1234, 4567, 3458";
     var s2 = "4567";
     s1 = s1.replace(" ", "");
     var s3 = s1.split(",");
     s1 = "";
     for (var i = 0;i< s3.length; i++) {
      if (s3[i].localeCompare(s2) ) {
      s1 += s3[i] ;
      if (i != (s3.length -1)) {
      s1 += ", ";
      }
      }
     }
     document.write (s1); }
    </script><body onload="test()"/>
    </html>
    经过调试,可以的。  例子将空格的影响去掉了。
      

  11.   

    哦,上面第二行的<body>标签多余的。
      

  12.   

    不能用length的,不知道为什么老是说undefined,难道它是数值形式的吗?怎么解决
      

  13.   

    String 对象应该是有length属性的,IE3.0以上都应该支持length属性.http://www.w3school.com.cn/js/jsref_obj_string.asp
      

  14.   

    直接用replace函数,把要删除的替换为"";
      

  15.   

    我用的ie7,我把呢个后边加了一个空格连接起来就可以写length属性了
      

  16.   

    写一个JS函数呗:
     var sub = function(base,sub){
       return base.substring(0,base.indexOf(sub))+base.substring(base.indexOf(sub)+sub.length+1);   //如果要多去掉一个,那么就+2
    }
      

  17.   

    你说的是不是当第一次删除时记录传入的呢个字符串,第二次的也记录,然后两个子字符串连接起来组成一个长的子字符串,最后在字符串中去除这个新的子字符串,是这样吗?但是每次只能执行一次onclick事件,怎么能记住上次点击的呢个呢?
      

  18.   

      String s1="......15702,75421,78454......";
      String s2="75421";
      //要求输出 s3="15702,78454......";
      System.out.println(s1.replace(s2, ""));