c#字符串方法,
作者: 常浩
5 staticvoid Main(string[] args)
6 {
7 string s ="";
8 //(1)字符訪問(下標訪問s[i])
9 s ="ABCD";
10 Console.WriteLine(s[0]); // 輸出"A";
11 Console.WriteLine(s.Length); // 輸出4
12 Console.WriteLine();
13
14 //(2)打散為字符數組(ToCharArray)
15 s ="ABCD";
16 char[] arr = s.ToCharArray(); // 把字符串打散成字符數組{'A','B','C','D'}
17 Console.WriteLine(arr[0]); // 輸出數組的第一個元素,輸出"A"
18 Console.WriteLine();
19
20 //(3)截取子串(Substring)
21 s ="ABCD";
22 Console.WriteLine(s.Substring(1)); // 從第2位開始(索引從0開始)截取一直到字符串結束,輸出"BCD"
23 Console.WriteLine(s.Substring(1, 2)); // 從第2位開始截取2位,輸出"BC"
24 Console.WriteLine();
25
26 //(4)匹配索引(IndexOf())
27 s ="ABCABCD";
28 Console.WriteLine(s.IndexOf('A')); // 從字符串頭部開始搜索第一個匹配字符A的位置索引,輸出"0"
29 Console.WriteLine(s.IndexOf("BCD")); // 從字符串頭部開始搜索第一個匹配字符串BCD的位置,輸出"4"
30 Console.WriteLine(s.LastIndexOf('C')); // 從字符串尾部開始搜索第一個匹配字符C的位置,輸出"5"
31 Console.WriteLine(s.LastIndexOf("AB")); // 從字符串尾部開始搜索第一個匹配字符串BCD的位置,輸出"3"
32 Console.WriteLine(s.IndexOf('E')); // 從字符串頭部開始搜索第一個匹配字符串E的位置,沒有匹配輸出"-1";
33 Console.WriteLine(s.Contains("ABCD")); // 判斷字符串中是否存在另一個字符串"ABCD",輸出true
34 Console.WriteLine();
35
36 //(5)大小寫轉換(ToUpper和ToLower)
37 s ="aBcD";
38 Console.WriteLine(s.ToLower()); // 轉化為小寫,輸出"abcd"
39 Console.WriteLine(s.ToUpper()); // 轉化為大寫,輸出"ABCD"
40 Console.WriteLine();
41
42 //(6)填充對齊(PadLeft和PadRight)
43 s ="ABCD";
44 Console.WriteLine(s.PadLeft(6, '_')); // 使用'_'填充字符串左部,使它擴充到6位總長度,輸出"__ABCD"
45 Console.WriteLine(s.PadRight(6, '_')); // 使用'_'填充字符串右部,使它擴充到6位總長度,輸出"ABCD__"
46 Console.WriteLine();
47
48 //(7)截頭去尾(Trim)
49 s ="__AB__CD__";
50 Console.WriteLine(s.Trim('_')); // 移除字符串中頭部和尾部的'_'字符,輸出"AB__CD"
51 Console.WriteLine(s.TrimStart('_')); // 移除字符串中頭部的'_'字符,輸出"AB__CD__"
52 Console.WriteLine(s.TrimEnd('_')); // 移除字符串中尾部的'_'字符,輸出"__AB__CD"
53 Console.WriteLine();
54
55 //(8)插入和刪除(Insert和Remove)
56 s ="ADEF";
57 Console.WriteLine(s.Insert(1, "BC")); // 在字符串的第2位處插入字符串"BC",輸出"ABCDEF"
58 Console.WriteLine(s);
59 Console.WriteLine(s.Remove(1)); // 從字符串的第2位開始到最後的字符都刪除,輸出"A"
60 Console.WriteLine(s);
61 Console.WriteLine(s.Remove(0, 2)); // 從字符串的第1位開始刪除2個字符,輸出"EF"
62 Console.WriteLine();
63
64 //(9)替換字符(串)(Replace)
65 s ="A_B_C_D";
66 Console.WriteLine(s.Replace('_', '-')); // 把字符串中的'_'字符替換為'-',輸出"A-B-C-D"
67 Console.WriteLine(s.Replace("_", "")); // 把字符串中的"_"替換為空字符串,輸出"A B C D"
68 Console.WriteLine();
69
70 //(10)分割為字符串數組(Split)——互逆操作:聯合一個字符串靜態方法Join(seperator,arr[])
71 s ="AA,BB,CC,DD";
72 string[] arr1 = s.Split(','); // 以','字符對字符串進行分割,返回字符串數組
73 Console.WriteLine(arr1[0]); // 輸出"AA"
74 Console.WriteLine(arr1[1]); // 輸出"BB"
75 Console.WriteLine(arr1[2]); // 輸出"CC"
76 Console.WriteLine(arr1[3]); // 輸出"DD"
77 Console.WriteLine();
78
79 s ="AA--BB--CC--DD";
80 string[] arr2 = s.Replace("--", "-").Split('-'); // 以字符串進行分割的技巧:先把字符串"--"替換為單個字符"-",然後以'-'字符對字符串進行分割,返回字符串數組
81 Console.WriteLine(arr2[0]); // 輸出"AA"
82 Console.WriteLine(arr2[1]); // 輸出"BB"
83 Console.WriteLine(arr2[2]); // 輸出"CC"
84 Console.WriteLine(arr2[3]); // 輸出"DD"
85 Console.WriteLine();
86
87 //(11)格式化(靜態方法Format)
88 Console.WriteLine(string.Format("{0} + {1} = {2}", 1, 2, 1+2));
89 Console.WriteLine(string.Format("{0} / {1} = {2:0.000}", 1, 3, 1.00/3.00));
90 Console.WriteLine(string.Format("{0:yyyy年MM月dd日}", DateTime.Now));
91
92
93 //(12)連接成一個字符串(靜態方法Concat、靜態方法Join和實例方法StringBuilder.Append)
94 s ="A,B,C,D";
95 string[] arr3 = s.Split(','); // arr = {"A","B","C","D"}
96
97 Console.WriteLine(string.Concat(arr3)); // 將一個字符串數組連接成一個字符串,輸出"ABCD"
98
99 Console.WriteLine(string.Join(",", arr3)); // 以","作為分割符號將一個字符串數組連接成一個字符串,輸出"A,B,C,D"
100
101 StringBuilder sb =new StringBuilder(); // 聲明一個字符串構造器實例
102 sb.Append("A"); // 使用字符串構造器連接字符串能獲得更高的性能
103 sb.Append('B');
104 Console.WriteLine(sb.ToString());// 輸出"AB"
105
106 Console.ReadKey();
107 }