在文字的處理方面,大多都是通過字符和字符串的操作來實現。在C#中,主要用Char類、String類、StringBuild類來實現。在學習過程中,發現對於這類的處理,在調用上主要有兩個使用方式,一種是類的static函數調用,另一種是用例的方法調用。
比如:
static方法的調用:
Char.IsLetter('a');//判斷指定的字符是否是字母類別。
用例的調用
string MyStr = "my value string";
MyStr.CompareTo("another string");
簡單來說,就是類的靜態方法屬於類自身,在調用時,是類方法調用;而另一種就是,類實例調用方法,在調用時,該方法是屬於這個實例的。
正常來說,相同功能的方法都會有這兩種形式可調用的實現,如果在實現使用中,不確定該使用哪種調用方式,可以從該方法的定義來確認調用形式。
屬於類的靜態方法,在定義時,有一個static關鍵字,而用例的方法則沒有。
如比較方法:
public bool CompareTo(string value);
public static bool Compare(string a, string b);
//在調用使用時,形式如下,
string stra = "string a";
string strb = "string b";
stra.CompareTo(strb);
String.Compare(stra, strb);
在學習過程中,熟悉各個基本的String類的方法是必須,對於不清楚的方法,在編程過程中,如果編程工具是VS,也可以直接通過F12,查看該方法的使用簡介和參數類型來大概定位可以使用的方式。
基於此,這裏簡單記錄下常用的String類的方法。
(1)比較字符串
public Int Compare(string strA, string strB);
public Int Compare(string strA, string strB, bool ignorCase);
ignorCase爲真時,表示比較過程中忽略大小寫。
String.Compare(myStrA, myStrB, true);
public Int CompareTo(string strB);
myStrA.CompareTo(myStrB);
public bool Equals(string value);
public static bool Equals(string a, string b);
myStrA.Equals(myStrB);
String.Equals(myStrA, myStrB);
(2)格式化字符串
Public static string Format(string format, object obj);
格式項format的語法是{索引[,對齊方式][:格式字符串]}。
DateTime dt = DateTime.Now;//獲取當前時間
String strB = String.Format("{0:D}", dt);//格式化成短日期格式(YYYY年MM月dd日)
(3)截取字符串
public string Substring(int startIndex, int length);
(4)分割字符串
public string[ ] Split(char[ ] separator);
string myStr = "this*is^my string";
char[] separator = {'^', '#', '*'};
string[] splitstring = string[100];
splitstring = myStr.Split(separator);
for(int i=0; i < splitstring.Length; i++)
Console.WriteLine("item{0}:{1}", i, splitstring[i]);
(5)插入字符串
public string Insert(int startIndex, string value);
(6)填充字符串
有左填充和右填充兩種。
public string PadLeft(int totalWidth, char paddingChar);
public string PadRight(int totalWidth, char paddingChar);
(7)刪除字符串
public string Remove(int startIndex);
public string Remove(int startIndex, int count);
(8)複製字符串
public static string Copy(string str);
public void CopyTo(int sourceIndex, char[ ] destination, int destinationIndex, int count);
(9)替換字符串
public string Replace(char OChar, char NChar);
public string Replace(string OValue, string NValue);
與String類相比,如果是需要經常修改字符串的操作,應該定義爲StringBuilder類實例,是比較合理的選擇。
StringBuilder類的構造方法有多種,當定義了一個類實例後,後續對實例的修改可以直接通過調用實例方法來實現。
StringBuilder myValue = new StringBuilder("this is my string");
myValue.Append(" and that is yours");
//則myValue的值爲this is my string and that is yours.
常見的方法有Append、AppendFormat、Insert、Remove、Replace等