C#字符串处理类
首先介紹一下常用的幾個(gè)功能:
Compare(str1,str2)——比較兩個(gè)字符串 str1,str2的大小,如果大于返回正數(shù),等于返回0,小于返回負(fù)數(shù)!
IndexOf——定位字符串中第一次出現(xiàn)某個(gè)給定字符串的位置
PadLeft和PadRight——在字符串的開始和結(jié)尾用指定的字符填充字符串
ToLower和ToUpper把字符串轉(zhuǎn)換為小寫或大寫形式
Trim——?jiǎng)h除首尾空白
String.Replace——用指定的字符替換字符串中的指定字符。
C#中字符串的建立過程:
例如定義變量 strT="Welcome to ";
strT+="www.csdn.net";
程序首先創(chuàng)建一個(gè)System.String 類型的對象并初始化為“Welcome to”。此時(shí)編譯程度會分配足夠的內(nèi)存來保存這個(gè)文本串。并用變量strT來表示這個(gè)實(shí)例。當(dāng)執(zhí)行strT+="www.csdn.net"時(shí),系統(tǒng)會創(chuàng)建一個(gè)新的實(shí)例,并分配足夠的內(nèi)存來保存復(fù)合后的文本。然后用變量strT來表示這個(gè)新的字符
串,就的字符串被撤消。當(dāng)要進(jìn)行大規(guī)模的字符替換與調(diào)整操作時(shí),使用字符串來操作將嚴(yán)重影響性能。在這中情況下就可以用System.Text.StringBuilder類。
?
??? StringBuilder類并沒有String 類的功能強(qiáng)大,只提供基本的替換和添加和刪除字符串中的文本,但它的工作效率非常高,當(dāng)定義StringBuilder對象時(shí)可以指定內(nèi)存的內(nèi)存容量,如果不指定系統(tǒng)就會根據(jù)對象初始化時(shí)的字符串長度來確定。它有兩個(gè)主要參數(shù)Length和Capacity分別表示字符串的實(shí)際長度和字符串占據(jù)的內(nèi)存空間長度。對字符串的修改就是在這個(gè)內(nèi)存中進(jìn)行的,大大提高了添加和替換的的效率。
如定義:StringBuilder sb=new StringBuilder("Hello,Welcome",100);//初始化對象并設(shè)置初始容量為100
?????? sb.Append(" to www.csdn.net");
?????? sb.Replace(old,new);//將old替換為new,作用與String.Replace()一樣只是不需要在過程中復(fù)制字符。
StringBuilder的成員:
???? StringBuilder sb=new StringBuilder("www.csdn.net");//定義初值為www.csdn.net的對象。
???? StringBuilder sb=new StringBuilder(20);初始化容量為20的空對象。
???? 另外StringBuilder還有MaxCapacity屬性用來限定對象可以使用的最大容量。默認(rèn)大約是int.MaxValue(20億)
???? 可以在使用過程中定義sb.MaxCapacity=value;
???? sb.Append(),給當(dāng)前字符串追加字符串。
???? sb.AppendFormat()——添加特定格式的字符串
???? sb.Insert()——插入一個(gè)子字符串
???? sb.Remove()——從當(dāng)前字符串刪除字符
???? sb.Replace()——替換字符串中指定的字符
???? sb.ToString()——將sb轉(zhuǎn)化為String 對象
?
總結(jié)
- 上一篇: C#实现对象的Xml格式序列化及反序列化
- 下一篇: 名侦探柯南有一部电影是穿着蓝色衣服的柯南