string ju = matc.Substring(i)就可以了,如果是去i开始的到结束,不需要第二个参数
另外,如果你安装了 MSDN 的话,在 msdn 上查会很清楚。
先谢谢大家。应该是这样啊,但是我下面的这代码: 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的值为空的。不知道哪里出了错,请高手们分析分析。。
你这里的i有初始值了么?可能就是像上面前辈么讲的那样 matc.Length - i超出了范围了,或者i=matc.Length - i
// 此处忽略参数的有效性,假设 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 所在的字符!
如果matc这个字符串长度比start小则会报错,
或者截取的长度Length达不到也会报错!
其他的情况都是可以截取的!
string ju = matc.SubString(3, 3); // "ver"
等效
matc.Substring(i);
截取matc字符串从第i个位置后的字符串,
其中i必须小于等于matc.Length
另外,如果你安装了 MSDN 的话,在 msdn 上查会很清楚。
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的值为空的。不知道哪里出了错,请高手们分析分析。。
// 此处忽略参数的有效性,假设 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 所在的字符!
str=str.Remove(开始位置,截至位置);