C#字符串截取的几种方式
C#截图字符串常用的方法有 split 、Substring、Replace、remove等。
其中最好用的个人认为是split方法
下面来介绍以上几种方法
1. split
返回的字符串数组包含此实例中的子字符串(由指定 Unicode 字符数组的元素分隔)。
根据单个分隔字符用split截取。
例如 复制代码代码如下:
string st="GT123_1";
string[] sArray=st.Split(‘_’);// 一定是单引
即可得到sArray[0]="GT123",sArray[1]="1";
-利用多个字符来分隔字符串
例如 复制代码代码如下:
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";
-Split( String (), StringSplitOptions)
返回的字符串数组包含此字符串中的子字符串(由指定字符串数组的元素分隔)。参数指定是否返回空数组元素。 RemoveEmptyEntries表示要省略返回的数组中的空数组元素
根据字符串或字符串组来截取字符串
例如 复制代码代码如下:
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";
2. Substring的使用:
- Substring(Int32, Int32)
从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。
提取字符串中的第i个字符开始的长度为j的字符串;
例如 复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
int start=3,length=8;
Console.WriteLine(str.Substring(start-1, length));
输出得到AZB_Jian。
- Substring(Int32)
从此实例检索子字符串。子字符串从指定的字符位置开始。
提取字符串中右数长度为i的字符串
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string tSt; int i=5;
tSt = str.Substring(str.Length - i);
Console.WriteLine(tSt);
输出n_123;
3. Replace的使用:
- Replace(String, String)
返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定的字符串。
替换字符串中的特定字符串
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string tSt;
tSt = str.Replace("123","321");
Console.WriteLine(tSt);
输出GTAZB_JiangjBen_321
删除字符串中的特定字符串Jiangj
string str = "GTAZB_JiangjBen_123";
string tSt; tSt = str.Replace("Jiangj","");
Console.WriteLine(tSt);
输出GTAZB_Ben_123
- Replace(Char, Char)
返回一个新字符串,其中此实例中出现的所有指定 Unicode 字符都替换为另一个指定的 Unicode 字符。
下面的示例将一系列数字之间的空白替换为逗号,从而创建以逗号分隔的值列表。
public static void Main()
{
string str = "1 2 3 4 5 6 7 8 9";
Console.WriteLine("Original string: \"{0}\"", str);
Console.WriteLine("CSV string: \"{0}\"", str.Replace(' ', ','));
}
输出:Original string: "1 2 3 4 5 6 7 8 9"
CSV string: "1,2,3,4,5,6,7,8,9"
4. remove的使用:
- Remove(Int32, Int32)
从此实例中的指定位置开始删除指定数目的字符。
删除指定位置(第i个)的指定长度(length)的字符串
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
int i=5,length=8;
str=str.remove(i, length);
console.writeline(str);
输出GTAZBen_123。
- Remove(Int32)
删除此字符串中从指定位置到最后位置的所有字符。
string s = "abc---def";
Console.WriteLine("{0}", s.Remove(3));
输出:abc