[VB] Split()函式

這個 Split()函式很常用到,今天我才發現他第三個參數的用法,原來是這樣。

光是看書、看msdn的說明,都不如自己親身體認一下,來得有感覺。

這個 Split()函式很常用到,今天我才發現他第三個參數的用法,原來是這樣。

光是看書、看msdn的說明,都不如自己親身體認一下,來得有感覺。

 

Q:  我要抓出 abc.txt這個設定檔裡面的某一列設定值。

      例如:  conf['test'] = 'hello';    //--後面還有一段註解文字

    ,我想取得他的值(hello)

 

想當然爾,我會用單引號(')來分割這一列字串,然後取得我想要得值(hello)

但實際上的作法,讓我又學到一些東西

 

-------------------------------------------------------------------------------------------------------

資料來源 http://msdn.microsoft.com/zh-tw/library/6x627e5f(VS.80).aspx

Split 函式 (Visual Basic)

傳回以零起始的一維陣列,其中包含指定數目的子字串。

 

Function Split(
   ByVal Expression As String,
   Optional ByVal Delimiter As String = " ",
   Optional ByVal Limit As Integer = -1,
   Optional ByVal Compare As CompareMethod = CompareMethod.Binary
) As String()  '--註解:傳回值是 [字串陣列] 喔!

參數

  • Expression ----必要項。包含子字串和分隔符號 (Delimiter) 的 String 運算式。
  • Delimiter ---- 選擇項。用來識別子字串範圍的任何單一字元。如果省略 Delimiter,則會將空白字元 (" ") 假設為分隔符號。
  • Limit ---- 選擇項。輸入字串應該分割之子字串數目的最大值。預設值為 –1,表示應該在每次遇到 Delimiter 字串時即分割輸入字串。
  • Compare ---- 選擇項。指示出當評估子字串時要使用哪種比對的數值。請參閱值的「設定」。

P.S.   我個人看法:這種翻譯文字,都是這樣。   每個字分開來看,都看得懂,但整句話...完全看不懂....Orz

------------------------------------------------------------------------------------------------------- 

讀取檔案的部份,可以參考本書 第十七章。

使用 System.IO這個命名空間(Namespace)

 

我們以「單引號(')」來分割這段字串    conf['test'] = 'hello';    //--後面還有一段註解文字 

希望能取得 hello這個值

        Using sr As StreamReader = New StreamReader("c:\abc.txt")
            Dim my_line, find_line As String
            Dim line_array() As String  '-- (一維)字串陣列

            Do
                my_line = sr.ReadLine
                find_line = InStr(1, my_line, "conf['test']")

                If find_line <> 0 Then
                    line_array = Split(my_line, "'", 4, CompareMethod.Binary)
                    Response.Write(line_array(0).ToString())    '--  陣列都是從 [零] 算起。  零,才是第一個

                    Response.Write("<br>" + line_array(1).ToString())
                    Response.Write("<br>" + line_array(2).ToString())
                    Response.Write("<br>" + line_array(3).ToString())

                End If

            Loop Until my_line Is Nothing

 
 

重點在於上面那一行,第三個參數,預設值 -1。  我以前也沒認真去考慮過

自己動手作一次,看到結果之後,比較能體會

執行結果如下:

如果寫成 4 ,結果會是--

conf[

test

] =

hello';     //--後面還有一段註解文字

註解:寫成 4,只會分成四段。後面就算有單引號('),Split()也不會分割下去嚕 

 

如果寫成 5 ,結果會是--

conf[

test

] =

hello        '--哈哈...這就是我想要得結果了

;     //--後面還有一段註解文字

 

 

唉~~~實戰經驗,還是比較能夠深刻體會啊

光是看書、看說明,還是會忽略一些細節.......

 

 

 

 

我承認這篇文章太淺了

那麼,補一則今日值班正妹好了

 

 

 

 

 

 

 

 

 

 

今日值班正妹 --- 天海麗  (日本愛情動作片女優)  。   圖片來源:Google

   

 

 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

線上課程,遠距教學 (Web Form 49hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程,遠距教學 (ASP.NET MVC 75hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

ASP.NET MVC線上課程 第一天 免費看 (5.5小時) 

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net


ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。 

................   facebook社團   https://www.facebook.com/mis2000lab   ......................

................  YouTube (ASP.NET) 線上教學影片  https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/

 

Blog文章 "附的範例" 無法下載,請看 這裡 ...... https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

請看我們的「售後服務」範圍(嚴格認定)

......................................................................................................................................................

...................................................................................................................................................... 

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講

事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

 

ASP.NET MVC 5 線上教學

累積時數約 75小時...... 第一天(5.5小時)完整內容,"免費"讓您評估