用split()截取字符串

          C#代碼  
          1. string s = "123a223a456a63223sa";   
          2.                         string[] sArray = s.Split('a');                          
          3.                         MessageBox.Show(sArray[0]);   
          4.                         MessageBox.Show(sArray[1]);   
          5.                         MessageBox.Show(sArray[2]);   
          6.                         MessageBox.Show(sArray[3]);  

           這樣結果也是

          123

          223

          456

          63223s

          C#中使用split分割字符串的幾種方法

          第一種方法:

          C#代碼  
          1. string s=abcdeabcdeabcde;   
          2. string[] sArray=s.Split(c) ;   
          3. foreach(string i in sArray)   
          4. Console.WriteLine(i.ToString());  

           
          輸出下面的結果:
          ab
          deab
          deab
          de

          第二種方法:
          我們看到了結果是以一個指定的字符進行的分割。使用另一種構造方法對多個字符進行分割:

          C#代碼  
          1. string s=abcdeabcdeabcde   
          2. string[] sArray1=s.Split(new char[3]{c,d,e}) ;   
          3. foreach(string i in sArray1)   
          4. Console.WriteLine(i.ToString());  

           可以輸出下面的結果:
          ab
          ab
          ab

          第三種方法:
          除了以上的這兩種方法以外,第三種方法是使用正則表達式。新建一個控制臺項目。然后先添加 using

          C#代碼  
          1. System.Text.RegularExpressions;   
          2. string content=agcsmallmacsmallgggsmallytx;    
          3. string[]resultString=Regex.Split(content,small,RegexOptions.IgnoreCase)    
          4. foreach(string i in resultString)   
          5. Console.WriteLine(i.ToString());
          6. //regexOptions.IgnoreCase是不區分small在字符串content中的大小寫  

          輸出下面的結果:
          agc
          mac
          ggg
          ytx

          第四種方法:

          C#代碼  
          1. string str1=我*****是*****一*****個*****教*****師;   
          2. string[] str2;   
          3. str1=str1.Replace(*****,*) ;   
          4. str2=str1.Split(*) ;   
          5. foreach(string i in str2)   
          6. Console.WriteLine(i.ToString());  

           第五種方法:
          string str1=我**是*****一*****個*****教*****師;
          我希望顯示的結果為:我是一個教師。
          我如果采用上面的第四種方法來做就會產生下面的錯誤:我   是一個教師。中間有空格輸出,所以輸出結果并不是希望的結果,這就又回到了正則表達式了,這時可以采用下面的第五種方法:

          C#代碼  
          1. string str1=我**是*****一*****個*****教*****師;   
          2. string[] str2 = System.Text.RegularExpressions.Regex.Split(str1,@[*]+);    
          3. foreach(string i in str2)   
          4. Console.WriteLine(i.ToString());   

           這里通過[*]+ 巧妙的完成了我們的目標。

          例如我想取得一個ftp里的用戶名及密碼(服務器等)值(用IE當FTP時或從表中取出FTP的值)。
          下面是我的解決思路:
          設url為收到的URL值,這里指:url=ftp://username:password@server,請注意這句話的規律
          我想大家都看清楚這個URL里的規律了吧,就是各個部分都被":"給區分成三個部分,即:ftp、//username、password@server
          首先將這個URL的各個部分區分開來,用split(url, ":")
          以下是具體的代碼:

          parts = split(url, ":")   '此時parts就有三部分,parts(0)=ftp,parts(1)=//username,parts(2)=password@server'接下來剔除沒有用到的信息'由于只取username,所以其中parts(0)跟parts(2)是無用的,直接不引用!newname=replace(parts(1), "http://", "")   '去除//符號,因為這不是username里的內容'此時的newname既為用戶名。


          以上是只取用戶名的代碼,如果你要再取密碼的話,可以參考下面。

          '由于用戶名是屬于parts(2)里的,而且包含服務器的信息,如果不取服務器,則:newpass = left(parts(2), instr(parts(2),"@")-1)  '取值到@之前的位數。此時的newpass取為密碼


          以上代碼為不取服務器地址的代碼,如果有取服務器的話,其實也是很簡單的

          newparts=split(parts(2),"@")  '此時newparts分成兩部分:newparts(0)為密碼,即password;newparts(1)則為服務器地址,即server'如果要輸出密碼的的話,直接response.write newparts(0)就可以了,服務器就newparts(1)


          后話,對于要取一字符串中的某些字符或部分,只要抓住規律,再加上用split就可以很好做成各種效果。

           

          posted on 2012-04-25 17:31 SkyDream 閱讀(3674) 評論(0)  編輯  收藏 所屬分類: C# WinForm

          <2012年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 禄丰县| 岳阳市| 襄垣县| 喜德县| 临漳县| 抚顺市| 湛江市| 阳高县| 阳原县| 宜良县| 宜黄县| 轮台县| 高要市| 报价| 胶州市| 法库县| 洪雅县| 如皋市| 灵山县| 西乌珠穆沁旗| 青州市| 会同县| 旬邑县| 特克斯县| 忻州市| 建瓯市| 云霄县| 云和县| 中牟县| 黔江区| 衡南县| 凤庆县| 辰溪县| 宁国市| 博野县| 广南县| 松溪县| 清河县| 揭阳市| 大田县| 永仁县|