string ju = matc.Substring(i, matc.Length - i);
上面这段语句中substring是否可以截取字符串matc的值?求解释其中i是一个变量,值已知。

解决方案 »

  1.   

    Substring(int start,int Length),第一个参数是字符串的起始位置,从0开始,第二个参数是要截取的长度。
    如果matc这个字符串长度比start小则会报错,
    或者截取的长度Length达不到也会报错!
    其他的情况都是可以截取的!
      

  2.   

    SubString 中的第一个参数是截取的字符串的起始位置,第二个参数是子串的长度string matc = "university";
    string ju = matc.SubString(3, 3); // "ver"
      

  3.   

    我的意思是:第一个参数代表起始位置,那么这个参数是否可以用一个变量i来表示呢?如matc.Substring(i, matc.Length - i);
      

  4.   

    string ju = matc.Substring(i, matc.Length - i);
    等效
     matc.Substring(i);
    截取matc字符串从第i个位置后的字符串,
    其中i必须小于等于matc.Length 
      

  5.   

    string ju = matc.Substring(i)就可以了,如果是去i开始的到结束,不需要第二个参数
      

  6.   


    另外,如果你安装了 MSDN 的话,在 msdn 上查会很清楚。
      

  7.   

    先谢谢大家。应该是这样啊,但是我下面的这代码:
    string ji = matc.Substring(0, i - 2);
    string hu = matc.Substring(i, matc.Length - i);
    a = double.Parse(ji); 
    b = double.Parse(hu);
    我可以截取matc的字符串转化为double a,但是不能转化为b.得到b的值为空的。不知道哪里出了错,请高手们分析分析。。
      

  8.   

    你这里的i有初始值了么?可能就是像上面前辈么讲的那样  matc.Length - i超出了范围了,或者i=matc.Length - i
      

  9.   

    我定义的i为成员变量,另外有值了。如果是i出的问题那么a也得不到啊
      

  10.   

    请问如果matc.Length - i<0,你让程序怎么显示?
      

  11.   

    我定义的这个i是字符串matc中某个位置的值,所以不可能i<Length.不知道问题在那?
      

  12.   

    。。还有我先把我的思路说下哈:在matc这个字符串中我以i这个位置为中心,分别利用subtring()截取matc中i的前半部分赋给a,i的后半部分给b.但是照我上面写的只能得到a,而不能得到b 的值。郁闷望高手们帮忙看看,本人新手(有点笨)!
      

  13.   


    // 此处忽略参数的有效性,假设 i 的位置是有效的。
    string src = "this is a little long string.";
    // any valid index you like
    int i = 7;
    // 前半部分
    string firstHalf = src.SubString(0, i); // 不包含 i 所在的字符!
    string secondHalf = src.SubString(i + 1, src.Length - (i + 1)); // 不包含 i 所在的字符!
    // 或者
    string firstHalf = src.SubString(0, i + 1); // 包含 i 所在的字符!
    string secondHalf = src.SubString(i, src.Length - i); // 包含 i 所在的字符!
      

  14.   

    你是要截取matc还是matc只是一个变量啊,这种截取方式有误,上面的说的很清楚了 我就不在多说
      

  15.   

    我再介绍一种方法给你吧string str="asdasdas";
    str=str.Remove(开始位置,截至位置);