1. 程式人生 > >c# 擷取字串

c# 擷取字串

split的使用:  

1. Split( Char ()) 

    返回的字串陣列包含此例項中的子字串(由指定 Unicode 字元陣列的元素分隔)。

    根據單個分隔字元用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.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"; 

Replace的使用: 

1. Replace(String, String) 

   返回一個新字串,其中當前例項中出現的所有指定字串都替換為另一個指定的字串。 

   替換字串中的特定字串 

   複製程式碼程式碼如下: 

   string str = "GTAZB_JiangjBen_123"; 

   string tSt; 

   tSt = str.Replace("123","321"); 

   Console.WriteLine(tSt); 

   輸出GTAZB_JiangjBen_321 

2. 刪除字串中的特定字串Jiangj 

   複製程式碼程式碼如下: 

   string str = "GTAZB_JiangjBen_123"; 

   string tSt; tSt = str.Replace("Jiangj",""); 

   Console.WriteLine(tSt); 

   輸出GTAZB_Ben_123 

3. 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" 

remove的使用: 

1. 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。 

2. Remove(Int32) 

   刪除此字串中從指定位置到最後位置的所有字元。 

   string s = "abc---def"; 

   Console.WriteLine("{0}", s.Remove(3)); 

   輸出:abc

--------------------- 本文來自 一蓑煙雨1989 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/wangshubo1989/article/details/46905881?utm_source=copy

String.SubString(int   index,int   length)      index:開始位置,從0開始        length:你要取的子字串的長度     

string str="123abc456"; int i=3; 1 取字串的前i個字元    str=str.Substring(0,i); // or  str=str.Remove(i,str.Length-i);  2 去掉字串的前i個字元:    str=str.Remove(0,i);  // or str=str.Substring(i);  3 從右邊開始取i個字元:   str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i); 4 從右邊開始去掉i個字元:    str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i); 5 判斷字串中是否有"abc" 有則去掉之    using System.Text.RegularExpressions;    string str = "123abc456";    string a="abc";    Regex r = new  Regex(a);     Match m = r.Match(str);     if (m.Success)    {     //下面兩個取一種即可。       str=str.Replace(a,"");       Response.Write(str);          string str1,str2;       str1=str.Substring(0,m.Index);       str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);       Response.Write(str1+str2);     } 6 如果字串中有"abc"則替換成"ABC"    str=str.Replace("abc","ABC");

************************************************

string str="adcdef"; int indexStart = str.IndexOf("d");

int endIndex =str.IndexOf("e");

string toStr = str.SubString(indexStart,endIndex-indexStart);

c#擷取字串最後一個字元的問題!

str1.Substring(str1.LastIndexOf(",")+1);

C# 擷取字串最後一個字元

k = k.Substring(k.Length-1, 1);