C# 字符串截取

我的未来方程式i / 2023-08-18 / 原文

C# 字符串截取

一般可以用到 subsring、Split、或者替换Replace、remove等

1、substring

只传递一个参数

 

String sb = "bbbdsajjds";
 
sb.substring(2);
// 将字符串从索引号为2开始截取,一直到字符串末尾。(索引值从0开始);输出结果为:“bdsajjds”

 

传入两个参数

String sb = "bbbdsajjds";
sb.substring(2, 4);
//将字符串从索引号为2开始截取,一直到索引号为5的字符结束,共4个字符。(索引值从0开始);输出结果为:“bdsa”

2、Split

 根据单个分隔字符用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', '_' }); 

得到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"; 

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"

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