String常用類
字符串判斷
C#中有2種字符串判斷,
1. ==
2. 字符串對象.Equals(要比較的字符串);
提取(截取)字符串
subString(起始位置); -->從起始位置到末尾
subString(起始位置,長度);
字符串修剪
字符串對象.Trim() -->去除空格
字符串對象.Tirm('去除左右兩邊的字符');
字符串轉大小寫
字符串對象.ToUpper();
字符串對象.ToLower();
拆分字符串
字符串對象.Split('拆分的字符'); 返回值:String[]
合並字符串
String.Join('進行連接的字符',字符串數組)
獲取字符下標
字符串對象.IndexOf('字符') -->獲取第一個出現的下標
字符串對象.LastIndexOf('字符') -->獲取最后一個字符的下標
字符串優化
頻繁處理字符串需要使用:StringBuilder
常用方法:
1. Append() -->拼接
2. AppendFormat() -->處理占位符
3. AppendLine() -->拼接完會換行
4. Insert(位置,插入的內容) -->插入
案例一
從控制台輸入一個郵箱,
1、驗證郵箱的格式是否正確(包含.包含@ @必須在點之前)
2、輸出郵箱的用戶名和域名
1 //從控制台輸入一個郵箱, 2 //控制台輸入 3 Console.Write("請輸入你的郵箱:"); 4 String email = Console.ReadLine(); 5 //1、驗證郵箱的格式是否正確(包含.包含@ @必須在點之前) 6 int indexDian = email.IndexOf('.'); 7 int indexAnDe = email.IndexOf('@'); 8 if (indexDian == -1 || indexAnDe == -1) 9 { 10 Console.WriteLine("請輸入正確的郵箱格式!"); 11 } 12 else if (indexDian <= indexAnDe) 13 { 14 Console.WriteLine("@必須在點之前"); 15 } 16 else 17 { 18 //2、輸出郵箱的用戶名和域名 123@qq.com 19 int index = email.IndexOf('@'); 20 String name = email.Substring(0, index); 21 22 String yuMing = email.Substring(index+1); 23 24 Console.WriteLine("用戶名:{0}",name); 25 Console.WriteLine("域名:{0}",yuMing); 26 } 27 //防止一閃而過 28 Console.ReadLine();
案例二
1 while (true)
{
//控制台輸入信息
Console.Write("請輸入身份證:");
String id = Console.ReadLine();
Console.Write("請輸入手機號:");
String phone = Console.ReadLine();
Console.Write("請輸入座機號:");
String landline = Console.ReadLine();
//身份證必須是16-18位
if (!(id.Length == 16 || id.Length == 18))
{
Console.WriteLine("身份證號必須是16或十八位");
continue;
}
//手機號必須是11位
if (!(phone.Length == 11))
{
Console.WriteLine("手機號必須是11位");
continue;
}
//座機區號必須4位,電話號碼必須7位
String[] number = landline.Split('-');
String num1 = number[0];
String num2 = number[1];
if (!(num1.Length == 4) && !(num2.Length == 7))
{
Console.WriteLine("座機區號必須4位,電話號碼必須7位");
continue;
}
Console.WriteLine("注冊成功");
break;
}
Console.ReadLine();
案例三
從控制台輸入姓名的拼音,拼音中間使用空格隔開,如waNG li li
在控制台上輸出WangLiLi(每個拼音的首字母大寫,后面小寫)
1 //控制台輸入 2 Console.Write("請輸入姓名拼音:"); 3 String name = Console.ReadLine(); 4 //字符串拆分 5 String[] names = name.Split(' '); 6 //循環 7 foreach (String nameSplit in names) 8 { 9 String nameFirst = nameSplit.Substring(0, 1); 10 String nameLast = nameSplit.Substring(1); 11 Console.Write(nameFirst.ToUpper()+nameLast.ToLower()); 12 } 13 //防止一閃而過 14 Console.ReadLine();
輸入:zhang san
輸出:ZhangSan
案例四
使用StringBuilder完成插入,控制台輸入一串數字,每隔三個位置插入一個,
1 //控制台輸入數字 12345678 2 //結果: 12,345,678 3 //控制台接收數據 4 Console.Write("請輸入一串數字:"); 5 String num = Console.ReadLine(); 6 //StringBuilder 7 StringBuilder sb = new StringBuilder(); 8 sb.Append(num); 9 //循環 10 for (int i = num.Length - 3; i > 0; i -= 3) 11 { 12 //插入, 13 sb.Insert(i, ','); 14 } 15 Console.WriteLine(sb.ToString()); 16 17 //防止一閃而過 18 Console.ReadLine();