程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#字符串的方法,

C#字符串的方法,

編輯:C#入門知識

C#字符串的方法,


  1 static void Main(string[] args)
  2         {
  3             StrMethod();
  4         }
  5 
  6         public static void StrMethod()
  7         {
  8             string myString = "brambling";
  9             string myNewStrUP = string.Empty;
 10             string myNewStrLow = string.Empty;
 11             string myStringL = string.Empty;
 12             string myStringR = string.Empty;
 13 
 14             for (int i = 0; i < myString.Length; i++)       //如數組一樣,可以通過 myString.Length 獲取字符串的長度
 15             {
 16                 Console.WriteLine("字符:{0}", myString[i]);       //string 類型的變量可以看作是 char 類型變量的只讀數組
 17             }                                                     //所以可以通過下標訪問字符串的每一個字符(即元素)
 18 
 19 
 20             //但是,這種方式不能為各個字符賦值。為了獲得一個可讀可寫的 char 數組,可以使用 myString.ToCharArray() 方法
 21 
 22 
 23             // myString.ToCharArray() 字符串轉化為 Char[] 數組
 24             char[] myChar = myString.ToCharArray();
 25             for (int i = 0; i < myChar.Length; i++)     //如果要修改字符的值,就不能用 foreach 循環
 26             {   
 27                 if (i == 0)
 28                 {
 29                     myChar[i] = 'B';        //當i=0(即字符串的第一個字母),我們把它改為大寫的 'B'
 30                 }
 31                 Console.WriteLine("字符:{0}", myChar[i]);
 32             }
 33 
 34 
 35             // myString.ToUpper() 把字符串轉化為大寫形式
 36             myNewStrUP = myString.ToUpper();
 37             Console.WriteLine("字符{0}的大寫為:{1}", myString, myNewStrUP);       //輸出結果:字符brambling的大寫為:BRAMBLING
 38 
 39 
 40             // myString.ToLower() 把字符串轉化為小寫形式
 41             myNewStrLow = myNewStrUP.ToLower();
 42             Console.WriteLine("字符{0}的小寫為:{1}", myNewStrUP, myNewStrLow);    //輸出結果:字符BRAMBLING的小寫為:brambling
 43 
 44 
 45             string myStr = "  str  ";
 46             string myNewStr = "---str---";
 47             string myStrL=string.Empty;
 48             string myStrR=string.Empty;
 49             string myNewStrL = string.Empty;
 50             string myNewStrR = string.Empty;
 51             Console.WriteLine("字符串‘  str  ’長度為:{0}", myStr.Length);      //為了比較好觀察,用上面的方式獲取字符串的長度,空格也是有長度的,結果為:7
 52 
 53 
 54             // myStr.TrimStart() 當沒有參數的時候默認去掉左邊的空格字符,有參數的時候去掉左邊的指定字符
 55             myStrL = myStr.TrimStart();
 56             Console.WriteLine("字符串為:{0}", myStrL);
 57             Console.WriteLine("字符串長度為:{0}", myStrL.Length);      //去掉左邊的空格,結果為:5
 58             myNewStrL = myNewStr.TrimStart('-');
 59             Console.WriteLine("字符串為:{0}", myNewStrL);    //字符串 "---str---" 去掉左邊的字符 '-' 後的新字符串為:str---
 60 
 61 
 62             // myStr.TrimEnd() 當沒有參數的時候默認去掉右邊的空格字符,有參數的時候去掉右邊的指定字符
 63             myStrR = myStr.TrimEnd();
 64             Console.WriteLine("字符串為:{0}", myStrR);
 65             Console.WriteLine("字符串長度為:{0}", myStrR.Length);      //去掉右邊的空格,結果為:5
 66             myNewStrR = myNewStr.TrimEnd('-');
 67             Console.WriteLine("字符串為:{0}", myNewStrR);    //字符串 "---str---" 去掉右邊的字符 '-' 後的新字符串為:---str
 68 
 69 
 70             //還有一個方法可以同時去掉左右兩邊的空格或指定字符
 71             // myStr.Trim() 當沒有參數的時候默認去掉左右兩邊的空格字符,有參數的時候去掉左右兩邊的指定字符
 72             myStr = myStr.Trim();
 73             Console.WriteLine("字符串為:{0}", myStr);
 74             Console.WriteLine("字符串長度為:{0}", myStr.Length);      //去掉左右兩邊的空格,結果為:3
 75             myNewStr = myNewStr.Trim('-');
 76             Console.WriteLine("字符串為:{0}", myNewStr);    //字符串 "---str---" 去掉左右兩邊的字符 '-' 後的新字符串為:str
 77 
 78 
 79             //上面的方法是去掉空格字符或指定字符,下面的方法在字符串前後添加空格或指定字符
 80             /* myString.PadLeft(10) 當只有一個參數時,表示在字符串左邊填充空格直至字符串長度為參數指定長度。
 81                                     當存在兩個參數時,第一個的作用同一個參數時一樣,第二個參數表示用指定的字符填充*/
 82             Console.WriteLine("字符串長度為:{0}", myString.Length);   //首先輸出原字符串的長度:9
 83             myStringL = myString.PadLeft(10);       //在字符串前面添加空格,參數 10 表示指定填充後的新字符串長度
 84             Console.WriteLine("字符串長度為:{0}", myStringL.Length);  //輸出填充後新字符串的長度為:10
 85             Console.WriteLine("字符串長度為:{0}", myString);
 86             Console.WriteLine("字符串長度為:{0}", myString.PadLeft(10, '-'));     //在字符串左邊填充字符 '-' 使其長度達到 10
 87 
 88 
 89             // myString.PadRight(10) 使用方法同 myString.PadLeft(10) 只是一個作用於左邊,一個作用於右邊
 90             Console.WriteLine("字符串長度為:{0}", myString.PadRight(10, '-'));     //在字符串右邊填充字符 '-' 使其長度達到 10
 91 
 92 
 93             // s.Split(',') 把字符串以指定字符分割為一個字符串數組
 94             string s = "one,two,three";
 95             string[] arrStr = s.Split(',');     //用 ',' 分割字符串,返回一個字符串數組
 96             for (int i = 0; i < arrStr.Length; i++)
 97             {
 98                 Console.WriteLine("字符串數組的第{0}個元素為:{1}", i, arrStr[i]);      //循環遍歷字符串數組 arrStr 輸出每一個字符串元素
 99             }
100 
101 
102             // s.Replace(",", "-") 匹配第一個參數指定的字符(也可以是字符串),用第二個參數指定的字符(也可以是字符串)替換
103             string sReplace = s.Replace(',', '-');
104             Console.WriteLine("字符串{0}替換後的新字符串為:{1}", s, sReplace);
105 
106 
107             // s.Insert(4, "four,") 第一個參數表示開始插入的起始位置,第二個參數表示要插入的字符串
108             string sInsert = s.Insert(4, "four,");
109             Console.WriteLine("字符串{0}插入後的新字符串為:{1}", s, sInsert); //輸出結果為:one,four,two,three
110 
111 
112             // s.Remove(3) 當只有一個參數時,表示刪除從指定位置開始到最後所有的字符
113             string sRemove = s.Remove(3);
114             Console.WriteLine("字符串{0}刪除後的新字符串為:{1}", s, sRemove); //輸出結果為:one
115             // s.Remove(4, 4) 當存在兩個參數時,第一個參數表示開始的位置,第二個表示刪除的字符數
116             sRemove = s.Remove(4, 4);
117             Console.WriteLine("字符串{0}刪除後的新字符串為:{1}", s, sRemove); //輸出結果為:one,three
118 
119 
120             // StringBuilderl類,該類也具有 Insert()、Remove()、Replace()、AppendFormat() 方法,使用方法與 String 類的方法類似
121             StringBuilder sb = new StringBuilder();
122             sb.Append("one-two-three");
123             sb.Append("-four");         //在字符串後面追加一個字符串
124             Console.WriteLine(sb.ToString());    // sb.ToString() 把 StringBuilder 類型的字符串轉換為 String 類型的字符串
125 
126 
127             // String.Concat(arrStr) 為String類的靜態方法,此方法具有其他重載
128             Console.WriteLine(String.Concat(arrStr));   //將字符串數組連接為一個字符串,輸出結果為:onetwothree
129 
130 
131             // String.Join(",", arrStr) 為String類的靜態方法,第一個參數為指定分割符號,第二個參數為一個字符串數組,此方法具有其他重載
132             Console.WriteLine(String.Join(",", arrStr));    //以指定分割符號將一個字符串數組連接成一個字符串,輸出結果為:one,two,three
133 
134 
135             // s.IndexOf(",") 在字符串中查找指定字符或字符串第一次出現的位置,返回其索引值,如果未查找到,則返回 -1 
136             Console.WriteLine("第一個逗號出現的位置為:" + s.IndexOf(","));     //輸出結果為:3
137 
138 
139             // s.LastIndexOf(",") 在字符串中查找指定字符或字符串最後一次出現的位置,返回其索引值,如果未查找到,則返回 -1 
140             Console.WriteLine("最後一個逗號出現的位置為:" + s.LastIndexOf(","));        //輸出結果為:7
141 
142 
143             // s.Substring(4) 此方法具有一個重載,當只有一個參數時為指定開始截取的位置,一直截取到字符串的末尾
144             //當為兩個參數時,第一個為指定截取字符串的起始位置,第二個為指定截取字符串的長度
145             Console.WriteLine("未指定截取長度的字符串為:" + s.Substring(4));        //輸出結果為:two,three
146             string st = s.Substring(s.IndexOf(",") + 1, s.LastIndexOf(",") - (s.IndexOf(",") + 1));
147             Console.WriteLine("指定截取長度的字符串為:" + st);         //輸出結果為:two
148 
149 
150             // String.Format() 為String類的靜態方法,其作用是格式化字符串,此方法具有其他重載
151             Console.WriteLine(String.Format("{0} + {1} = {2}", 1, 2, 1 + 2));
152             Console.WriteLine(String.Format("{0} / {1} = {2:0.000}", 1, 3, 1.00 / 3.00));       //保留三位小數
153             Console.WriteLine(String.Format("{0:yyyy年MM月dd日}", DateTime.Now));
154 
155 
156             Console.ReadKey();
157         }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved