C#字符串的分割與截取

寫在前面:前幾日入門了一點點python,發現裏面的字符串截取很好用,就特意蒐集了一下C#的字符串截取,整理一下,以備不時之需。

C#分割字符串

  1. 使用單個分隔符分割字符串,這裏的輸出結果即爲
    1
    2
    3
    4
    5
    當使用‘,’號將其分割後,會去掉’,'這個符號,並且注意Split內的類型爲char而不是string,所以使用單引號而不是雙引號。
static void Main(string[] args)
        {
            string a = "1,2,3,4,5";
            string[] b = a.Split(',');
            foreach(string c in b)
                Console.WriteLine(c);
        }
  1. 使用多個分隔符分割字符串,這裏的輸出結果爲
    1
    2
    3
    4+5
    當使用多個分隔符時,Split內是一個char數組,所有符合數組內的值都會被認作爲分隔符。
static void Main(string[] args)
        {
            string a = "1,2,3-4+5";
            string[] b = a.Split(new char[2] { ',', '-' });
            foreach (string c in b)
                Console.WriteLine(c);
        }
  1. 使用單個或多個字符串來分割字符串,當string數組內僅有一個值時,即爲單字符串分割,當數組內有多個值時,即爲多字符串分割,這裏輸出的結果爲
    20
    8
    9
    924
static void Main(string[] args)
        {
            string a = "201819192425";
            string[] b = a.Split(new string[] { "1","25" }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string c in b)
                Console.WriteLine(c);
        }

C#截取字符串

  1. 截取字符串前i個字符,原理爲顯示前i個或刪除i個及之後的字符串來得到一個新的字符串,這裏b和c的值均爲
    20181
    20181
static void Main(string[] args)
        {
            int i = 5;
            string a = "201819192425";
            string  b = a.Substring(0, i);             
            //顯示從第0個到第i個字符,但不包括第i個
            string  c = a.Remove(i, a.Length - i);    
            //返回一個從i個開始刪除,刪除長度爲總長度減i個(即刪除i及之後的字符串)
            Console.WriteLine("{0}\n{1}",b,c);
        }
  1. 刪去字符串前i個字符串,原理剛好與上個相反,這裏b和c的值均爲
    9192425
    9192425
 static void Main(string[] args)
        {
            int i = 5;
            string a = "201819192425";
            string b = a.Remove(0, i);           
            //刪除第0個到第i個字符,但不包括第i個
            string c = a.Substring(i);
            //從第i個字符開始,顯示到結尾
            Console.WriteLine("{0}\n{1}",b,c);
        }
  1. 截取字符串後i個字符,原理與<1>相似,這裏b和c的值均爲
    92425
    92425
static void Main(string[] args)
        {
            int i = 5;
            string a = "201819192425";
            string b = a.Substring(a.Length - i);
            //從第(總長度-i)個字符開始(即從倒數第i個開始),顯示到結尾
            string c = a.Remove(0,a.Length-i);
            //刪除第0個字符到第(總長度-i)個字符,返回餘下的字符串
            Console.WriteLine("{0}\n{1}",b,c);
        }
  1. 刪去字符串後i個字符串,原理剛好與上個相反,這裏b和c的值均爲
    2018191
    2018191
static void Main(string[] args)
        {
            int i = 5;
            string a = "201819192425";
            string b = a.Substring(0, a.Length - i);
            //從第0個字符開始,顯示到(總長度-i)個字符,但不包括該字符
            string c = a.Remove(a.Length - i, i);
            //刪除從第(總長度-i)個字符開始,長度爲i的字符串,包括第(總長度-i)個字符
            Console.WriteLine("{0}\n{1}", b, c);
        }
  1. 截取字符串中從第i個開始,長度爲j的字符串,原理在註釋標明,這裏b的值爲
    18191
static void Main(string[] args)
        {
            int i = 3, j = 5;
            string a = "201819192425";
            string b = a.Substring(i - 1, j);
            //因爲排序從0開始,所以(i-1),即從(i-1)個字符開始顯示長度爲j的字符串
            //就是從客觀上從第三個開始顯示到第(3+5-1)個字符,因爲第i個也佔一個長度
            Console.WriteLine(b);
        }
  1. 刪除字符串中從第i個開始,長度爲j的字符串,原理與上相反,代碼僅需更改字符串b的賦值語句即可,這裏b的值爲
    2092425
static void Main(string[] args)
        {
            int i = 3, j = 5;
            string a = "201819192425";
            string b = a.Remove(i - 1, j);
            //刪除第i個字符到第(i+j-1)個字符,並返回新字符串
            Console.WriteLine(b);
        }
  1. 替換字符串中的指定字符串,將所有符合要求的字符串片段均替換爲另一個已給出的字符串片段,這裏b的值爲
    20186666662425
static void Main(string[] args)
        {
            string a = "201819192425";
            string b = a.Replace("19", "666");
            //每當舊串中出現'19'時,即替換爲'666',並將返回的新串賦值於b
            //因爲出現兩次'19',所以也替換了兩次'666'
            //兩者長度不一樣所以替換後長度也發生改變
            Console.WriteLine(b);
        }
  1. 刪除字符串中的指定字符串,將所有符合要求的字符串片段均替換爲一個空值,即可達到刪除的效果,這裏b的值爲
    20182425
static void Main(string[] args)
        {
            string a = "201819192425";
            string b = a.Replace("19", "");
            //每當舊串中出現'19'時,替換爲一個空串,可視爲刪除
            Console.WriteLine(b);
        }
  1. 截取字符串符合要求的最後一個值,這裏按’9’對字符串進行分割,所以b的值爲
    2425
static void Main(string[] args)
        {
            string a = "201819192425";
            string b = a.Substring(a.LastIndexOf("9") + 1);
            //顯示按要求分割的最後一個值
            Console.WriteLine(b);
        }

結語

由於學識短淺,如有不足還望指正,一起努力,加油,謝謝,謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章