找回密码
 加入
搜索
查看: 2429|回复: 9

如何自动查找并读取txt中特定的值

[复制链接]
发表于 2009-6-8 16:20:27 | 显示全部楼层 |阅读模式
本帖最后由 qddoit 于 2009-6-8 19:16 编辑

<?xml version="1.0" encoding="utf-8" ?>
<gameData>
    <Install>
        <game000265 Status="4" TypeId="004" version="1" GameStartFile="shinanrenshang100ceng.dat" RealGameName="是男人上100层" InstallPath="${TAG_INSTALL_PATH}" AutoUpdate="1" RemindComment="1" />
    </Install>
    <GameCmmt />
</gameData>

txt内容如上,如何取出GameStartFile="shinanrenshang100ceng.dat"中
shinanrenshang100ceng.dat这个值

每个txt的格式相同 都有GameStartFile=“变量”
发表于 2009-6-8 16:51:53 | 显示全部楼层
本帖最后由 lynfr8 于 2009-6-8 18:02 编辑

一直都怕正则,看着容易头晕
不过正则太强大了,(尤其膜拜文白兄!)
反正自己正在艰苦学着正则,就当时练手之作吧
此例子正则表达式不是太复杂(也可能我头脑想的简单了,呵呵)
stringRegExp($a,'GameStartFile="(.*)"\sReal',3)就能解决了
注意:本表达式是通过GameStartFile和Real特征字符前后包抄来匹配的
因为看不到你其他文本,就只能针对此贴写表达式了
自己当灵活处理
当然还有更厉害的能达到同样效果的表达式
请再赐教

效果图:
#include <Array.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiComboBoxEx.au3>

$Form1 = GUICreate("正则判断", 633, 254, 192, 124)
$Edit1 = GUICtrlCreateEdit("", 8, 8, 617, 201)
GUICtrlSetData(-1, "Edit1")
$Button1 = GUICtrlCreateButton("运行正则", 24, 216, 97, 25, 0)
$Input = GUICtrlCreateInput("", 160, 216, 257, 21)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$a=GUICtrlRead($Edit1)
$b = stringRegExp($a,'GameStartFile="(.*)"\sReal',3)
for $i = 0 to UBound($b) - 1
GUICtrlSetData ($input,$b[$i])
Next
EndSwitch
WEnd

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-6-8 16:53:59 | 显示全部楼层
哎,楼上都写出答安了,我的麻烦方法可以不要了。
发表于 2009-6-8 16:57:13 | 显示全部楼层
如果同篇文章很多GameStartFile=“变量”,就将input改为combo下拉列表显示即可
发表于 2009-6-8 17:56:15 | 显示全部楼层
学习了

正则离我还远着呢
 楼主| 发表于 2009-6-8 19:09:24 | 显示全部楼层


先谢谢了~~ 马上去试试。。。
发表于 2009-6-10 08:36:32 | 显示全部楼层
编程离不开正则。。
发表于 2010-8-4 04:37:16 | 显示全部楼层
远得很!!!!!!!!!!!!
发表于 2010-8-10 10:23:33 | 显示全部楼层
好帖,一定要定一下!
发表于 2011-12-22 14:54:21 | 显示全部楼层
还是不想用正则
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 03:23 , Processed in 0.083388 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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