找回密码
 加入
搜索
查看: 2798|回复: 10

[AU3基础] 读取关键字符串后面的字符 (已解决)

  [复制链接]
发表于 2017-5-30 23:00:15 | 显示全部楼层 |阅读模式
本帖最后由 28002673 于 2017-6-16 21:05 编辑

比如我要读取ID.txt 文件中的关键字符串后面的字符

ID.TXT文件的内容是:
A1:696483584
A2:275848685
A4:242438484
AA4:488552422
A5:458488555
AA5:458488555

我要读取 A4:后面的“242438484”,但不要读取AA4:后面的内容,该怎么写啊!
 楼主| 发表于 2017-5-30 23:31:02 | 显示全部楼层
本帖最后由 28002673 于 2017-5-31 00:04 编辑

#include <Constants.au3>
Opt("MustDeclareVars",1)
_test()
Func _test()
Local $foo,$line,$lines
$foo = Run(@ComSpec & ' /c type c:\ID.TXT | find /v "AA4" | find "A4" ', @SystemDir, @SW_HIDE, $STDOUT_CHILD)
$lines = ""
While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
     $lines &= $line
Wend

Local $var = StringMid($lines, 4, 13)
MsgBox(0,"test",$var)
EndFunc


看了下初学者教程,自己搞定了,但主要还是通过DOS命令实现的。。请大神教我用AU3函数来写吧。。
发表于 2017-5-31 00:28:15 | 显示全部楼层
回复 2# 28002673

發文請注意版規   請修改標題
 楼主| 发表于 2017-5-31 00:53:09 | 显示全部楼层
回复 3# kk_lee69


   不好意思版主大人。。已经改过来了
发表于 2017-5-31 01:08:26 | 显示全部楼层
回复 4# 28002673

我不會正則  會正則的 一行應該可以解決...
发表于 2017-5-31 08:48:17 | 显示全部楼层
试试:  \bA4:(.+)
发表于 2017-5-31 10:27:40 | 显示全部楼层
### 友情提示:本脚本由 Au3 正则测试工具 于 2017年05月31日10点24分33秒 自动生成,不保证其正确性,请自行修改测试 ###
#include <Array.AU3>
$string = _
'A1:696483584' & @CRLF & _
'A2:275848685' & @CRLF & _
'A4:242438484' & @CRLF & _
'AA4:488552422' & @CRLF & _
'A5:458488555' & @CRLF & _
'AA5:458488555'
Local $Array = StringRegExp($string, '(?mi)^A4:(\d+)' ,3)
For $i = 0 To UBound($Array) - 1
    
NEXT
;以下为测试结果:
If Not @Error Then   MsgBox(0, '匹配数量: ' & UBound($array), '其中$array[0]数组为: ' & $array[0])
_ArrayDisplay($Array, UBound($Array))
发表于 2017-5-31 12:02:56 | 显示全部楼层
本帖最后由 yamakawa 于 2017-5-31 12:07 编辑
(?im)^A4:(\V+)
\bA4:(\V+)
发表于 2017-5-31 22:46:08 | 显示全部楼层
一个粗放的正则:
.*?:(.+)
 楼主| 发表于 2017-6-1 14:53:48 | 显示全部楼层
(?im)^A4:(\V+)
已经搞定了。
谢谢大家。。。
发表于 2017-6-1 16:49:29 | 显示全部楼层
回复 10# 28002673


   注意版規

請修改標題
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-20 09:59 , Processed in 0.083034 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表