我有这样一组文字
[1] 2 3等等
其中[]不一定在哪个数字上,数字也可能是1,2或1,2,3,4等等
如何把他们过滤掉 

解决方案 »

  1.   

      string[] _List = "[1] 2 3".Split(new char[] { '[', ']', ' ' }, StringSplitOptions.RemoveEmptyEntries);
                
    这样?
      

  2.   

    Regex.Replace(text, @"\[.+\]", string.Empty)
      

  3.   

    strResult = Regex.Replace(strSource,"[\[\]]+","");
      

  4.   

    要用正则表达式吗?
    学习下,不过楼主要想过滤的话我想一个方法
    arraylist arr1 = new arraylist();
    把所有数字塞进去;
    for(int i= 0 ;i< arr1.Count;i++)
    {
        if(arr1[0].ToString().Contains("["))
         {
              arr1.RemoveAt(i);
         }
        
    }
    楼主参考
      

  5.   

    题目有歧义
    strResult = Regex.Replace(strSource,"\[[^\]]+\]","");
      

  6.   

    你漏了一种情况啊,“数字也可能是1,2或1,2,3,4等等”试试这个:
    System.Text.RegularExpressions.Regex.Split("[1][ 2 3 11,2,3,4", @"\D+")这样匹配的第一个数组元素是空的,只要过滤掉就可以了。
      

  7.   

    随便写写 
    string str=@“?\[[0-9]{1}\]”;
    regex r=new regex(str);
    matchcollection mc=r.matches("你的字符串");
    for(int i=0;i<mc.count;++)
    {
       "你的字符串".remove(mc[i].value);
    }
    c#
      

  8.   

    先把 [、]、, 替换为空格,再把连续的多个空格替换为一个空格:
    strResult = Regex.Replace(Regex.Replace(strSource,"[\[\],]+"," "),"\s+", " ");