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 }

 

Tags: