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