看板 C_Sharp 關於我們 聯絡資訊
我要寫一支程式供使用者去讀取文字檔 文字檔是由儀器軟體所產生。 文字檔內容就是量測數據的結果。 類似如下文字檔: Width:100cm Height:20cm Tool:xxxxx Vision:4.2.2.5 溫度:200 因為量測儀器有很多款式,產生出的文字檔也不同(但是該有的數據都有) 假設我今天要擷取Width,我可以讓使用者下數字所在的區間。 再透過SubString去擷取出100這個數字。 如果,今天量測數值是90,則使用者還要再去設定擷取範圍。 請問一下,除了設定要擷取的範圍這個方法外,還有其他方式嗎?? 正規表示式這個我有想過,但還是要教使用者去寫正規表示式 = =" 所以想問問有沒有其他方式,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.239.135.65 ※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1403708115.A.C52.html
VVll:所以儀器軟體產生出來的文字格式 你能不能控制,可以的話 06/25 23:36
VVll:就產出xml 06/25 23:36
VVll:不然用string.split(new string[]{":"}) 以":"作切割 06/25 23:38
VVll:或者逐行去讀資料,用":"切key跟vlaue 06/25 23:39
fdvd:如果說 輸出的欄位都一樣 譬如一樣是那五個欄位 以Width來 06/25 23:46
fdvd:說 只需要數值的部份而不涵蓋單位, 可以考慮在substring完後 06/25 23:47
fdvd:將單位的字串trim掉 只是不確定原PO是不是指這意思@@" 06/25 23:47
aacced:string strSample = "Width:100cm"; 06/26 01:02
aacced:int iCapture = strSample.IndexOf(":") + 1; 06/26 01:03
aacced:string strResult = strSample.Substring(iCapture, (strSa 06/26 01:04
aacced:mple.Length - iCapture - 2)); 06/26 01:04
aacced:最後-2是減掉cm, 也可以先判斷字串內有無cm,若無就不-2 06/26 01:09
chrisQQ::後面值的部份直接正規砍掉不是 0-9\. 的會不會比較簡單 06/26 11:33
chrisQQ:原來原PO不要 regex 我錯了... 06/26 11:33