Substring有两个重载:
1. Substring(int i);这里的i表示,从所截取的字符串的索引为零的位置开始,截取到索引为i的位置
2.Substring(int i,int Sum);这里的i表示,从所截取的字符串的索引为i的位置开始,截取Sum个字符,这里的Sum其实就是截取的新的字符串的Length的属性值,即:“新字符串.Length” 与“Sum”相等。
已经说的很详细了,给分吧
-----------------------------------------------------------------------------------------------------------------
第一个下划线的位置可以用FirstIndexOf(“_”)来取得,用“A”表示;
剩下的字符串的长度就的长度(用“B”表示) = 被截取的字符串的Length的值 - (第一个下划线的索引值 + 1)
-------------------------------------------------------------------------------------------------------------------
结果:
新字符串 = 旧字符串.SubString(A, B);
string str=“_附件_阿灯楼_调查笔录.txt“;
string str2=str.substring(1,str.length);//应该是length这个属性,如果不是你换成count看看。很9没搞了,属性有点记不清了,是lenght的可能性大点。
str2就是你要截取后的字符串了。
正则表达式
无论中间有多少下划线,都可以.
string str="2012111194742_附件_阿灯楼_调查笔录.txt";
Regex _Regexs = new Regex(@"_[\w\W]*.txt");
Match _match = _Regexs.Match(str);
输出
例如
textBox1.text = _match.Value;
用IndexOf取得下划线位置,然后用substring来截取。高端一点,用正则表达式,如果字符串有一定规律的话
substring(start,end)
start:表示字符串开始位置
end:表示字符串的结束位置