官术网_书友最值得收藏!

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)一步研究。

主站蜘蛛池模板: 乌鲁木齐市| 股票| 遵义县| 金沙县| 惠来县| 龙门县| 茶陵县| 桓台县| 永福县| 宝清县| 天镇县| 邯郸市| 和硕县| 萨迦县| 开平市| 沛县| 江城| 南宁市| 长海县| 安岳县| 神池县| 政和县| 和平县| 元谋县| 比如县| 桃江县| 灯塔市| 德阳市| 平罗县| 林西县| 安丘市| 苍山县| 微山县| 安乡县| 古丈县| 马山县| 凤冈县| 老河口市| 贵港市| 榆社县| 阜新市|