请问我怎么才能取到'+'或者'-',且时按顺序取到的,比如:有个字符串a(1001)-b(2001)+(3531)

解决方案 »

  1.   

    还可以 a.IndexOf("+");
     a.IndexOf("-");然后SubString()方法就可以了。
      

  2.   

    再来个LINQ的: char a1 = a.ToCharArray().SingleOrDefault(c => c == '+');
     char a2 = a.ToCharArray().SingleOrDefault(c => c == '-');
      

  3.   

    如果a(1001)-b(2001)+(3531)再长一点呢,而且indexof()只能取到一个得啊,
      

  4.   

    string bb="a(1001)-b(2001)+(3531)";
    char[] aa=bb.toCharArray(); for(int i=0;i<aa.length;i++){
       if(aa[i]=="-")
    {
      response.write(i);
    }
    }
      

  5.   

    多个?LINQ简单:  var a1 = a.ToCharArray().Select(c => c = '+').ToList();
        var a2 = a.ToCharArray().Select(c => c = '-').ToList();
      

  6.   

    还是遍历吧
    如果你那个字符串有两个++ 或是+++
    就不好弄了
    a.IndexOf("+"); 
    貌似是第一个+号
    还是 for(int i=0;i<str.lenght;i++)
    {
       ......
    }
      

  7.   


    可以先用IndexOf("+")把加号之前的字符串分割出来,然后对后面的字符串继续使用IndexOf("+"),直到全部加号取完,然后对所有分割出来的字符串使用IndexOf("-")
      

  8.   

    linq我没有学过啊,这句怎么解释啊。。
      

  9.   

    还是用循环了,改天还是要了解下linq,
    要不回帖看不懂啊。。
    呵呵