如果取得文本框中特定部分

michael_monkey 2006-06-28 02:51:54
文本框中多行数据

我想:

取得文本有“-[ cpuid ]-”字样的所在行的下一行 至 以后遇到的第一个有 “--[”字样的前一行的所有内容。

比如,文本框中内容如下:

aaaaaaaa
bbbbbb
-----[ cpuid ]-----
need1
need2
need……
-----[ other ]------
cccccccccccc
-----[ other other ]------
………………

取得结果应该是:

need1
need2
need……

...全文
246 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyfer 2006-06-28
  • 打赏
  • 举报
回复
我...晕....呀...谁能告诉我正则表达式怎么用呀

对了.问一下,正则表达式是谁发明的?是不是正则?
michael_monkey 2006-06-28
  • 打赏
  • 举报
回复
sorry:上面正则是:
-\[ cpuid ]-.{1,}-\[
michael_monkey 2006-06-28
  • 打赏
  • 举报
回复
老大,后面结束标志不是“-----[ other ]------”
而是第一个“--[”,-----[ cpuid ]-----后面可能有很多个“--[”,我要找的是第一个

我试了一下这个正则:
-\[ DMI ]-.{1,}-\[

出来的结果不对:
-[ cpuid ]-----
need1
need2
need……
-----[ other ]------
cccccccccccc
-----[
它找到了最后一个“--[”而不是第一个

想要的结果是:
-[ cpuid ]-----
need1
need2
need……
-----[
godwu 2006-06-28
  • 打赏
  • 举报
回复
split(str,"-----[ cpuid ]-----")(1)

split(split("-----[ cpuid ]-----")(1),"-----[ other ]------")(0)
michael_monkey 2006-06-28
  • 打赏
  • 举报
回复
楼上说的正则表达式怎么写呀

-\[ DMI ]-(\w+)--\[

??
EricBai 2006-06-28
  • 打赏
  • 举报
回复
用instr函数得到“-----[ cpuid ]-----”所在位置,就可以找到你要的特定字符串,然后再用instr定位下一个“-----[ other ]------”,再用mid函数取出这两次定位之间的那部分字符窜就是你想要的了。
BlueDog 2006-06-28
  • 打赏
  • 举报
回复
取出文本框的字符串后,用正则表达式取对应的数据

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧