<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    用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)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日本人的色道www免费一区| 亚洲a一级免费视频| 亚洲国产精品网站久久| 亚洲国产中文v高清在线观看| 亚洲AV成人片无码网站| 亚洲国产精品碰碰| 久久免费线看线看| 四虎亚洲精品高清在线观看| 亚洲一区二区在线视频| 国产亚洲av片在线观看18女人| 免费看a级黄色片| 国产va精品免费观看| 污污网站免费观看| a毛片视频免费观看影院| 亚洲国产精品乱码一区二区 | 女性无套免费网站在线看| 青青免费在线视频| 亚洲另类自拍丝袜第五页| 亚洲成AV人片一区二区| 中文字幕无码精品亚洲资源网| 全亚洲最新黄色特级网站| 最近的中文字幕大全免费8| 亚洲欧美日韩自偷自拍| 亚洲一区二区三区播放在线| 亚洲国产精品成人久久蜜臀| 国产在线观看免费完整版中文版| 国内大片在线免费看| 成人毛片视频免费网站观看| 在线v片免费观看视频| 99久久综合国产精品免费| 99在线视频免费观看视频| 国产精品视频永久免费播放| 久久WWW免费人成人片| 久久久久久久久免费看无码| 最近2019中文字幕免费看最新| 美女视频黄免费亚洲| 国产一级淫片a免费播放口| 免费一级不卡毛片| 一级毛片全部免费播放| 亚洲一级毛片免费观看| a级在线免费观看|