C#中如何分割字符串
C#如何分割字符串
在 C# 中,可以使用 string.Split() 方法對字符串進(jìn)行分割。
該方法的使用形式為:
string[] result = originalString.Split(separatorChars, StringSplitOptions);
其中,separatorChars 參數(shù)是一個字符數(shù)組,用于指定分隔符;StringSplitOptions 參數(shù)則是一個枚舉值,用于指定是否刪除結(jié)果數(shù)組中的空白項(xiàng)。
例如,以下代碼將一個字符串按照空格分隔,并輸出結(jié)果數(shù)組中的第二個元素:
string originalString = "Hello world"; string[] result = originalString.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); Console.WriteLine(result[1]); // 輸出 "world"
需要注意的是,Split() 方法返回的是一個字符串?dāng)?shù)組,可以通過索引來訪問其中的元素。
在上述示例中,由于將原始字符串按照空格分隔后,結(jié)果數(shù)組中只有兩個元素,因此可以通過 result[1] 來訪問第二個元素。
當(dāng)然,Split() 方法還支持多個分隔符的情況,可以將多個分隔符放在一個字符數(shù)組中即可。
例如,以下代碼將一個字符串按照逗號和空格兩種分隔符進(jìn)行分隔:
string originalString = "apple, banana, orange"; string[] result = originalString.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in result) { Console.WriteLine(s); } // 輸出: // apple // banana // orange
在上述示例中,將逗號和空格兩種分隔符放在一個字符數(shù)組中,然后用 Split() 方法對原始字符串進(jìn)行分隔,得到一個包含三個元素的字符串?dāng)?shù)組。
最后通過 foreach 循環(huán)遍歷結(jié)果數(shù)組,逐個輸出其中的元素。
C#幾種字符串截取方式
C#截圖字符串常用的方法有 split 、Substring、Replace、remove等。
其中最好用的個人認(rèn)為是split方法
下面來介紹以上幾種方法
1. split
返回的字符串?dāng)?shù)組包含此實(shí)例中的子字符串(由指定 Unicode 字符數(shù)組的元素分隔)。
根據(jù)單個分隔字符用split截取。
例如 復(fù)制代碼代碼如下:
string st="GT123_1"; string[] sArray=st.Split(‘_');// 一定是單引 即可得到sArray[0]="GT123",sArray[1]="1";
-利用多個字符來分隔字符串
例如 復(fù)制代碼代碼如下: 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)
返回的字符串?dāng)?shù)組包含此字符串中的子字符串(由指定字符串?dāng)?shù)組的元素分隔)。
參數(shù)指定是否返回空數(shù)組元素。
RemoveEmptyEntries表示要省略返回的數(shù)組中的空數(shù)組元素
根據(jù)字符串或字符串組來截取字符串
例如 復(fù)制代碼代碼如下:
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)
從此實(shí)例檢索子字符串。子字符串從指定的字符位置開始且具有指定的長度。
提取字符串中的第i個字符開始的長度為j的字符串;
例如 復(fù)制代碼代碼如下:
string str = "GTAZB_JiangjBen_123"; int start=3,length=8; Console.WriteLine(str.Substring(start-1, length)); 輸出得到AZB_Jian。
- Substring(Int32)
從此實(shí)例檢索子字符串。子字符串從指定的字符位置開始。
提取字符串中右數(shù)長度為i的字符串
復(fù)制代碼代碼如下:
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)
返回一個新字符串,其中當(dāng)前實(shí)例中出現(xiàn)的所有指定字符串都替換為另一個指定的字符串。
替換字符串中的特定字符串
復(fù)制代碼代碼如下:
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)
返回一個新字符串,其中此實(shí)例中出現(xiàn)的所有指定 Unicode 字符都替換為另一個指定的 Unicode 字符。
下面的示例將一系列數(shù)字之間的空白替換為逗號,從而創(chuàng)建以逗號分隔的值列表。
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)
從此實(shí)例中的指定位置開始刪除指定數(shù)目的字符。
刪除指定位置(第i個)的指定長度(length)的字符串
復(fù)制代碼代碼如下:
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
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#使用doggleReport生成pdf報(bào)表的方法
這篇文章主要介紹了C#使用doggleReport生成pdf報(bào)表的方法,結(jié)合實(shí)例形式分析了C# doggleReport安裝及使用具體操作技巧,需要的朋友可以參考下2017-06-06WPF+ASP.NET SignalR實(shí)現(xiàn)后臺通知功能的示例代碼
本文以一個簡單示例,簡述如何通過WPF+ASP.NET SignalR實(shí)現(xiàn)消息后臺通知以及數(shù)據(jù)的實(shí)時刷新,僅供學(xué)習(xí)分享使用,如有不足之處,還請指正2022-09-09