Re: [VBA ] 怎樣抓txt檔案裡的指定字串??

作者: jacky33 (VBA API)   2015-12-21 22:01:18
※ 引述《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="到"空位"之間的位元數怎麼寫?
還是有別的方法,請指教,謝謝。
作者: LPH66 (-6.2598534e+18f)   2015-12-22 00:31:00
你真的了解 InStr 的作用了嗎?然後認真的, 最一開始的文章下面推文都要你去找書看這些東西書裡一定會有範例教你他是什麼意思要怎麼用
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-12-22 22:42:00
VBA有很原始的regex,你描述的勉強可以用但是最好還是換到.NET,因為VBA那套實在太破舊了
作者: jacky33 (VBA API)   2015-12-22 23:30:00
LPH66大andMOONRAKER大,非常感謝,但是畢竟VBA比較普遍我會再找找看有沒有別的方式,謝謝大家。
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-12-23 11:06:00
你馬好VBA比較普遍啦 .NET用又不要錢 連VS都免錢VBA的regex就是承接VB6爛得不忍卒睹 你爽用隨便你
作者: peakhour   2015-12-23 19:58:00
vba很好用的,這裡,只要善用split() 即可達到目的。str=split(split(sLine,"l=")(1)," ")(0)
作者: jacky33 (VBA API)   2015-12-23 21:16:00
peakhour大,收到,感謝。
作者: ClubT (小喬)   2015-12-25 12:52:00
有個函數是len()

Links booklink

Contact Us: admin [ a t ] ucptt.com