有个字符串  var str = ",13,9,15,1,25,19,3,23";我想",1"替换成“”,所以var strnew = str.replace(",1","")
但是结果却变成了"3,9,15,1,25,19,3,23”,把前面的",1"去掉,有没有简单的方法实现??

解决方案 »

  1.   

    str = str.Replace(",1,", ",");
      

  2.   

    var strnew = str.replace(",1,", "")
      

  3.   


     str.replace(",1,", "")
      

  4.   

    试了下,把所有的",1"都去了,没啥问题啊 
    MsgBox(",13,9,15,1,25,19,3,23".Replace(",1", ""))
      

  5.   

    str = str.Replace(",1,", ",");这样的话是可以的,但是万一",1"在最后一位,那不是不能匹配了??
      

  6.   

    说的对,所以应该改改:            var str = ",13,9,15,1,25,19,3,23,1";
                string[] temp = str.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                StringBuilder sb = new StringBuilder();
                foreach (string s in temp)
                    if (s != "1")
                        sb.Append("," + s);
                Console.WriteLine(sb.ToString());
      

  7.   


    string s = new Regex("(,$|^,)").Replace( (new Regex("(,1,|,1$)").Replace(text, ",")) , "");先把 ,1, 和 ,1 替换成 ,  再将字符串开头和结尾的 , 去掉如  string str = ",13,9,15,1,25,19,3,23,1";
    string s = new Regex("(,$|^,)").Replace( (new Regex("(,1,|,1$)").Replace(text, ",")) , "");
    // 红颜色的执行完字符串为 ",13,9,15,25,19,3,23," 这是字符串前后均有一个 , 在进行一次替换 得到最后结果s="13,9,15,25,19,3,23"