[已解决]判断字符串是否相同失败
本帖最后由 king8462 于 2013-12-2 13:15 编辑从文本文档中逐行读取字符串,然后与ini中的字段循环比较,如果相同则进行后续命令,但字符串明明相同却无法运行后续命令。
文本内容:
1.鲁迅的第一篇白话文小说是《狂人日记》
2.古文经学主张文化创新和社会改革
3.重农抑商是中国历代封建王朝最基本的经济指导思想
ini文件内容:
《四库全书》汇集了从唐代到清朝的历代主要典籍=错
鲁迅的第一篇白话文小说是《狂人日记》=对
古文经学主张文化创新和社会改革=错
代码如下:
;搜索判断题题目并对比答案。
$file = FileOpen("D:/desktop/2.txt")
For$i=1 To 3
$line = FileReadLine($file,$i)
$t=StringTrimLeft($line, 2)
answer()
Next
Func answer()
$var = IniReadSectionNames(@ScriptDir & "\2.ini")
For $i = 1 To $var
$var1 = IniReadSection(@ScriptDir & "\2.ini", $var[$i])
For $a = 1 To $var1
;MsgBox(0,"1",$var1[$a]&$t)
If$var1[$a] ==$t Then
MsgBox(0,"2",$var1[$a])
$cd=$var1[$a]
EndIf
Next
Next
EndFunc
Func answer()
Local $i
;.... _Answer('2.txt', '2.ini')
Func _Answer($File, $File_as)
Local $aline = StringRegExp(FileRead($File), '(?m)^\h*\d+\.\h*(\V+?)\s*$', 3)
If Not IsArray($aline) Then Exit MsgBox(48, '退出', '无试卷载入')
For $i = 0 To UBound($aline) - 1
Local $sAnswer = IniRead($File_as, 'answers', $aline[$i], '无该题')
MsgBox(0, $aline[$i], $sAnswer)
Next
EndFunc ;==>_Answer 多谢版主!正则太厉害了。连同第10题以后取题目的问题都帮我解决了。
页:
[1]