作者jacky33 (VBA API)
看板Visual_Basic
標題Re: [VBA ] 怎樣抓txt檔案裡的指定字串??
時間Mon Dec 21 22:01:18 2015
※ 引述《jacky33 (VBA API)》之銘言:
: 請問各位高手,語法要怎麼寫可以抓txt檔裡或是可以用txt(or wardpad)打開的檔案。
: 檔案內容如下:
: Mp1 Iinp n1 Vdd Vdd pch w=1u l=1u m=1
: Mq2 Ixxxp n231 Vd Vd pch w=200u l=1u m=1
: Mr3 1 2 3 4 pch w=3u l=1u m=1
: Q1:Mp1,Mq2,Mr3這三列可能在檔案內的任何位置,而且每一列開頭一定是"M",由左到右的順序
: 一定是Mp1 Iinp n1...等等。請問:
: 我要如何找出或定義檔案裡"所有""M"開頭的列。比如說檔案裡共有3列"M"開頭的,
: 名字分別叫"Mp1","Mq2","Mr3"。如何找到共"3"列跟其相對應的名字。
: Q2:比如說,當找到或是定義出Mp1這一列時,我要如何指定取出w=後面"1u"的這字串??
: 或是Mq2裡的l=1u 的"1u"??
: 感謝回覆!!
首先小弟很抱歉,還是有些問題想請教。
試過Mid,InStr等等來判斷字串,他們都必須知道並指定,比如w=1u,"1u"為2位元。
如果不知道"w="之後為幾位元,就是數字不確定,只知道數字後有個"空位"再接l=1u
那要如何抓出"w="之後的數字?
我是想到先找到"w="在檔案的位址,再判讀出到達 l=1u之前的"空位"之間有幾位元,
藉此抓出"w="後的答案,但是我不知道如何判讀"w="到"空位"之間的位元數怎麼寫?
還是有別的方法,請指教,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.10.37
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1450706481.A.1C5.html
1F:推 LPH66: 你真的了解 InStr 的作用了嗎? 12/22 00:31
2F:→ LPH66: 然後認真的, 最一開始的文章下面推文都要你去找書看 12/22 00:32
3F:→ LPH66: 這些東西書裡一定會有範例教你他是什麼意思要怎麼用 12/22 00:32
4F:→ MOONRAKER: VBA有很原始的regex,你描述的勉強可以用 12/22 22:42
5F:→ MOONRAKER: 但是最好還是換到.NET,因為VBA那套實在太破舊了 12/22 22:42
6F:→ jacky33: LPH66大andMOONRAKER大,非常感謝,但是畢竟VBA比較普遍 12/22 23:30
7F:→ jacky33: 我會再找找看有沒有別的方式,謝謝大家。 12/22 23:31
8F:→ MOONRAKER: 你馬好VBA比較普遍啦 .NET用又不要錢 連VS都免錢 12/23 11:06
9F:→ MOONRAKER: VBA的regex就是承接VB6爛得不忍卒睹 你爽用隨便你 12/23 11:09
10F:→ peakhour: vba很好用的,這裡,只要善用split() 即可達到目的。 12/23 19:58
11F:→ peakhour: str=split(split(sLine,"l=")(1)," ")(0) 12/23 20:13
12F:→ jacky33: peakhour大,收到,感謝。 12/23 21:16
13F:推 ClubT: 有個函數是len() 12/25 12:52