- 21天學(xué)通ASP.NET
- 顧寧燕等編著
- 2326字
- 2018-12-29 13:22:22
2.3 字符串類型處理
字符串?dāng)?shù)據(jù)類型是程序中比較常用的一種數(shù)據(jù)類型。字符串的處理在程序中是極為重要的,畢竟程序代碼及HTML代碼也是字符串。本節(jié)將簡單介紹一些常用的字符串操作。
2.3.1 字符串比較
C#語言中字符串的比較,是比較字符串的長度大小,通過 CompareTo 方法來實(shí)現(xiàn),其語法如以下代碼所示。
stringA. CompareTo(stringB)
該方法的執(zhí)行結(jié)果將返回一個32位整數(shù),其比較關(guān)系如表2-2所示。
表2-2 字符串比較關(guān)系表

【范例2-1】比較“孟麗君”、“包拯”兩個字符串,如示例代碼2-1所示。
示例代碼2-1
01 var fn_name= "孟麗君"; //定義一個婦女姓名的隱含類型變量 02 string zf_name= "包拯"; //定義一個丈夫姓名的字符串變量 03 Response .Write(zf_name.CompareTo(fn_name).ToString()); //輸出比較結(jié)果
【執(zhí)行結(jié)果】在瀏覽器中瀏覽該頁面,結(jié)果如圖2-1所示。

圖2-1 字符串比較結(jié)果顯示
【代碼解析】第03行代碼通過CompareTo方法,將變量zf_name中的字符串(“孟麗君”)與變量fn_name中的字符串(“包拯”)進(jìn)行比較,結(jié)果顯示-1,說明變量zf_name比fn_name變量的字符串長度小。
注意:Response.Write 為Web 中頁面輸出函數(shù)。在 C#語法中所有數(shù)據(jù)類型都可以通過ToString方法,將數(shù)據(jù)以字符串的形式輸出。
2.3.2 字符串長度的獲取
字符串長度是通過Length屬性來獲取的,其代碼如下所示。
01 string fn_name= "孟麗君"; //定義一個婦女姓名的字符串變量 02 Response .Write(fn_name.Length.ToString()); //輸出長度
2.3.3 字符串查找索引
字符串查找索引經(jīng)常使用IndexOf方法來實(shí)現(xiàn),其語法如下:
stringA. IndexOf (stringB)
stringA 為被查找字符串,stringB 為要查詢的字符串。如果查詢結(jié)果是負(fù)值,則表示在stringA字符串中找不到相應(yīng)的stringB字符。如果是正數(shù),則表示stringB在stringA中的起始位置。
【范例2-2】查詢“奧運(yùn)”在字符串“中國奧運(yùn)加油!”中的位置,代碼如示例代碼2-2所示。
示例代碼2-2
01 string strZgoy= "中國奧運(yùn)加油!"; //定義一個字符串變量 02 Response.Write(strZgoy.IndexOf("奧運(yùn)").ToString()); //查找“奧運(yùn)”在字符串 //中的起始位置
【執(zhí)行結(jié)果】在瀏覽器中瀏覽該頁面,結(jié)果如圖2-2所示。

圖2-2 字符串查找結(jié)果顯示
【代碼解析】上面第02行代碼使用.IndexOf查詢字符串“奧運(yùn)”的起始位置,運(yùn)行結(jié)果顯示2。這表示“奧運(yùn)”是在字符串“中國奧運(yùn)加油!”中的位置2上。
提示:字符串變量的位置是以0開始的。例如上面的代碼“中”字符是在strZgoy字符串變量的0位置上,所以“奧運(yùn)”在strZgoy字符串變量是在位置2上。
2.3.4 清除空格
字符串的清除空格操作就是要清除字符串前面或后面的空格,該操作可以防止用戶在輸入框中輸入無效字符“空格”,以方便在程序中進(jìn)行字符串比較。該操作通過Trim方法來實(shí)現(xiàn),其代碼如下:
01 string strZgoy= " 中國奧運(yùn)加油! "; //定義一個字符串變量 02 Response.Write(strZgoy.Trim()); //清除字符串的前后空格
上面第01行代碼定義一個前后有空格的字符串,第02行通過Trim方法清除空格,最后輸出頁面。
2.3.5 字符串的插入操作
字符串的插入操作就是從字符串某一位置開始,插入指定的字符。該操作是通過Insert來實(shí)現(xiàn)的。
【范例2-3】在字符串“中國奧運(yùn)加油!”的位置2上,插入字符串“北京”,代碼如示例代碼2-3所示。
示例代碼2-3
01 string strZgoy= "中國奧運(yùn)加油!"; //定義一個字符串變量 02 Response.Write(strZgoy.Insert(2,"北京")); //在位置2上插入“北京”,并輸出頁面
【執(zhí)行結(jié)果】瀏覽該頁面,結(jié)果如圖2-3所示。

圖2-3 字符串插入操作結(jié)果顯示
【代碼解析】上面第02行代碼,在字符串“中國奧運(yùn)加油!”位置2上插入字符串“北京”。
2.3.6 字符串的刪除操作
字符串的刪除操作就是要查找字符串從某位置開始的、一定長度的字符。該字符是通過Remove(n,m)方法來實(shí)現(xiàn)的。參數(shù)n為開始的位置值,參數(shù)m為要刪除字符的長度。
【范例2-4】在字符中位置2開始刪除兩個字符,代碼如示例代碼2-4所示。
示例代碼2-4
01 string strZgoy= "中國奧運(yùn)加油!"; //定義一個字符串變量 02 Response .Write (strZgoy.Remove (2,2)); //從位置2開始刪除兩個字符
【執(zhí)行結(jié)果】瀏覽該頁面,結(jié)果如圖2-4所示。

圖2-4 字符串刪除操作結(jié)果顯示
【代碼解析】上面第02行代碼,在字符串“中國奧運(yùn)加油!”位置2上刪除兩個字符。結(jié)果顯示“中國加油!”。
2.3.7 字符串的替換操作
字符串的替換操作就是查找出一個原來字符,并將其替換成一個新字符。該操作是通過Replace方法來實(shí)現(xiàn)的。
【范例2-5】將“中國奧運(yùn)”替換成“北京”,代碼如示例代碼2-5所示。
示例代碼2-5
01 string strZgoy= "中國奧運(yùn)加油!"; //定義一個字符串變量 02 Response.Write(strZgoy.Replace("中國奧運(yùn)","北京")); //將“中國奧運(yùn)”替換成“北京”
【執(zhí)行結(jié)果】瀏覽該頁面,結(jié)果如圖2-5所示。

圖2-5 字符串替換操作結(jié)果顯示
【代碼解析】第 02 行代碼使用 Replace 方法。將字符串“中國奧運(yùn)”替換成“北京”。結(jié)果為“北京加油!”。
2.3.8 字符串的截取操作
字符串的截取操作是指通過 Substring(n,m)方法來獲取字符串中的部分字符的。參數(shù) n 為開始的位置值,參數(shù)m為要截取字符的長度。
【范例2-6】從位置2開始截取4個字符,代碼如示例代碼2-6所示。
示例代碼2-6
01 string strZgoy= "中國奧運(yùn)加油!"; //定義一個字符串變量 02 Response .Write (strZgoy.Substring(2,4)); //從位置2開始截取4個字符
【執(zhí)行結(jié)果】瀏覽該頁面,結(jié)果如圖2-6所示。

圖2-6 字符串截取操作結(jié)果顯示
【代碼解析】上面代碼中第02行代碼,通過Substring方法截取從位置2開始的4個字符。
2.3.9 字符串的連接操作
字符串的連接操作是通過加號“+”來實(shí)現(xiàn)的。
【范例 2-7】在一個身份證號碼中截取年月日,并以中文日期的形式輸出,代碼如示例代碼2-7所示。
示例代碼2-7
01 string strZgoy= "440521197603270011"; //定義身份證 02 string dCstq= strZgoy.Substring(6, 4) + "年" + //通過Substring截取 //年月日 03 strZgoy.Substring(10, 2) + "月" + 04 strZgoy.Substring(12, 2) + "日"; 05 Response.Write(dCstq); //輸出中文日期
【執(zhí)行結(jié)果】瀏覽該頁面,結(jié)果如圖2-7所示。

圖2-7 字符串連接操作結(jié)果顯示
【代碼解析】上面第02~04行代碼用于截取身份證中的出生日期。第02行代碼截取身份證第6個位置開始長度為4的字符,即截取日期中年的數(shù)值。并且在這個年的數(shù)值字符串后面加上“年”。第03行代碼截取身份證第10個位置開始,長度為 2 的字符,即取月的數(shù)值。并且在這個月的數(shù)值字符串后面加上“月”。第04行代碼截取第12個位置開始,長度為 2 的字符,即取日的數(shù)值。并且在這個日的數(shù)值字符串后面加上“日”。執(zhí)行頁面輸出,結(jié)果顯示“1976年03月27日”。
字符串的操作方法,遠(yuǎn)遠(yuǎn)不止這些,本節(jié)只列舉了一些最常用的操作方法。至于字符串的其他操作方法,讀者可參考有關(guān)書籍進(jìn)一步研究。
- 大數(shù)據(jù)技術(shù)與應(yīng)用基礎(chǔ)
- 課課通計算機(jī)原理
- 網(wǎng)上沖浪
- Ansible Quick Start Guide
- 自動檢測與傳感技術(shù)
- 數(shù)據(jù)產(chǎn)品經(jīng)理:解決方案與案例分析
- MicroPython Projects
- 智能工業(yè)報警系統(tǒng)
- 數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程(第5版)
- Silverlight 2完美征程
- Mastering Ceph
- 大數(shù)據(jù):引爆新的價值點(diǎn)
- Microsoft Dynamics CRM 2013 Marketing Automation
- ADuC系列ARM器件應(yīng)用技術(shù)
- 機(jī)器學(xué)習(xí)案例分析(基于Python語言)