C#字元串
字元串處理
1.問題引入
判斷用戶輸入的郵箱是否包含”@”
解決方法
1 int IndexOf(char/string value)
2 找到第一個匹配項所在的位置
3 如果找到則為索引位置,否則-1
4
5 static void Main(string[] args)
6 {
7 string email = "[email protected]";
8 int position = email.IndexOf("@");
9 Console.WriteLine($"@所在的位置索引:"+position);
10 Console.ReadKey();
11 }
2.問題引入
如何判斷用戶密碼長度是否符合要求
解決方法
1 string.Length;(返回值類型是int)
2 使用"Length"屬性獲取字元串的長度
3
4 static void Main(string[] args)
5 {
6 string userPwd = "88996677ABE";
7 int pwdLength = userPwd.Length;
8 Console.WriteLine($"密碼長度{pwdLength}");
9 Console.ReadKey();
10 }
3. 問題引入
如何判定兩個字元串內容相等
解決方法
1 使用"=="或"Equals"方法
2 如果判斷兩個對象是否相同可以用object的Equals()方法
3 {
4 static void Main(string[] args)
5 {
6
7 string name1 = "xiaowang";
8 string name2 = "xiaowang";
9 string name3 = "wang";
10 Console.WriteLine(name1==name2);
11 Console.WriteLine(name1.Equals(name2));
12 Console.WriteLine(object.Equals(name1, name2));
13 Console.WriteLine(name2 ==name3);
14 Console.ReadKey();
15
16 }
4.問題引入
根據用戶的郵箱獲取”用戶名”
解決方法
string Substring(int startIndex,int length);
static void Main(string[] args)
{
string email = "[email protected]";
string userName = email.Substring(0, email.IndexOf("@"));
Console.WriteLine("郵箱用戶名:"+userName);
Console.ReadKey();
}
5.問題引入
1 回顧:使用佔位符完成字元串的拼接
2
3 string name="小劉";
4 Console.WriteLine("我的名字是:"+name+"我的年齡是"+20);
5
6 string name="小劉";
7 Console.WriteLine("我的名字是{0},我的年齡是{1}",name,20);
8
9 字元串格式化Format()方法與其類似
10 string newString=string.Format("格式字元串",參數列表);
6.Format()方法的格式字元串中各種格式化定義字元

1 static void Main(string[] args)
2 {
3 string moneyTotal = string.Format("總金額:{0:C}", 255555);
4 Console.WriteLine(moneyTotal);
5 Console.ReadKey();
6
7 }
7.字元串為空和null的情況
1 空字元串的使用方法
2 if(name=""){}//分配一個長度為空的存儲空間
3 if(name.Equals(string.Empty)){}//不分配存儲空間,經常使用
4
5 總結判斷字元串是否為空的3種方法
6 //性能從高到低
7 name.Length==0
8 name==string.Empty
9 name==""
10
11 注意:null和""的區別
8.其他常用字元串處理方法
1 Trim()方法:去掉前後多餘空格
2 string name=" xiaowang";
3 name=name.Trim();
4
5 轉換成小寫/大寫
6 string ToUpper();//轉換成大寫
7 string ToLower();//轉換成小寫
8
9 找到最後一個匹配項所在的索引(位置)
10 LastIndexOf(string value)
9.關於字元串的拼接(重點)
1 static void Main(string[]args])
2 {
3 string strText="我正在學習";
4 strText+=".NET平台";
5 strText+="與C#開發語言";
6 Console.WriteLine(strText);
7 }
8 每次修改strText,不是追加而是要創建一個新的字元串對象,造成記憶體浪費
9
10 使用StringBuilder類定義可變字元串,實現字元串的追加
11 方法 說明
12 Append 在結尾追加
13 Insert 在指定位置插入指定字元串
14 Remove 移除指定字元串
15
16 使用StringBuilder類修改上述程式碼
17 static void Main(string[] args)
18 {
19 StringBuilder myBuilder=new StringBuilder();
20 myBuilder.Append("我正在學習");
21 myBuilder.Append(".NET平台");
22 myBuilder.Append("與C#開發語言");
23 Console.WriteLine(myBuilder.ToString());
24 Console.ReadLine();
25 }