C#中截取字符串总结:
以下为三个最基本最常用的方法,其他基本由此组合而来
string str = "dsf_jkf,dk_f";
str.IndexOf("_");//获取字符串中第一个匹配项的索引,得到3
str.LastIndexOf("_");//获取字符串中最后一个匹配项的索引,得到10
str.Substring(3);//获取从指定位置开始的子字符串,得到_jkf,dk_f
str.Substring(3,6);//从索引为零的位置开始,截取五个字符,得到_jkf,d
附:一篇来自网络的文章
C#几种截取字符串的方法小结,需要的朋友可以参考一下
1.根据单个分隔字符用split截取
例如
复制代码代码如下:
string st="GT123_1";
string[] sArray=st.split("_");
即可得到sArray[0]="GT123",sArray[1]="1";
2.利用多个字符来分隔字符串
例如
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split(new char[2] { 'j', '_' });
foreach(string e in sArray)
{
Console.WriteLine(e);
}
得到sArray[0]="GTAZB",sArray[1]="Jiang",sArray[2]="Ben",sArray[3]="123";
3根据字符串或字符串组来截取字符串
例如
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split( new string[]{"Ji","jB"}, StringSplitOptions.RemoveEmptyEntries);
foreach(string e in sArray)
{
Console.WriteLine(e);
}
得到sArray[0]="GTAZB_",sArray[1]="ang",sArray[2]="en_123";
4提取字符串中的第i个字符开始的长度为j的字符串;
例如
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
int start=3,length=8;
Console.WriteLine(str.Substring(start-1, length));
输出得到AZB_Jian。
5提取字符串中右数长度为i的字符串
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string tSt;
int i=5;
tSt = str.Substring(str.Length - i);
Console.WriteLine(tSt);
输出n_123;
6替换字符串中的特定字符串
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string tSt;
tSt = str.Replace("123","321");
Console.WriteLine(tSt);
输出GTAZB_JiangjBen_321
7删除字符串中的特定字符串Jiangj
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string tSt;
tSt = str.Replace("Jiangj","");
Console.WriteLine(tSt);
输出GTAZB_Ben_123
8删除指定位置(第i个)的指定长度(length)的字符串
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
int i=5,length=8;
str=str.remove(i,length);
console.writeline(str);
输出GTAZBen_123。