這個 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 約 51hr) https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015
線上課程教學,遠距教學 (ASP.NET MVC 約 140hr) https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
寫信給我,不要私訊 -- mis2000lab (at) yahoo.com.tw 或 school (at) mis2000lab.net
(1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A
(2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I
[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm 。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b
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 MVC => .NET Core MVC 線上教學 ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽
[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講 事先錄好的影片,並非上課側錄! 觀看時,有如「一對一」面對面講課。