请教正则替换的问题【已解决】
本帖最后由 woeiwoei 于 2010-5-25 14:44 编辑如何将 ini文件中 【VS】下的 所有数据的前6位替换为 制定字符??
例如 B703A65780C5 替换为 0000005780C5
所有数据哦~大虾们帮帮忙~
:face (31): 用不着正则吧StringReplace (FileReadLine('数据.ini',$i), StringLeft(FileReadLine('数据.ini',$i), 6), "000000" ) 回复 2# dtooboss
改不了。。。:face (30): 本帖最后由 dtooboss 于 2010-5-25 14:30 编辑
回复dtooboss
改不了。。。
woeiwoei 发表于 2010-5-25 14:18 http://www.autoitx.com/images/common/back.gif$ini =_IniReadSection( '数据.ini','vs')
For $n = 1 To $ini Step 1
IniWrite('新数据.ini','vs', StringReplace($ini[$n], StringLeft($ini[$n], 6), "000000" ),$ini[$n])
Next
Func _IniReadSection($iFile, $Section, $mode = 0); afan 斑竹的udf
Local $_Section, $s_Sec, $s_zl, $ii = 1, $i
Local $o_File = FileOpen($iFile, $mode)
Local $s_File = String(FileRead($o_File))
FileClose($o_File)
$_Section = StringRegExpReplace('[' & $Section & ']', '(\.|\||\*|\?|\+|\(|\)|\{|\}|\[|\]|\^|\$|\\)', '\\$1')
$s_Sec = StringRegExp($s_File & @CRLF & '[', '(?s)(?i)' & $_Section & '(.+?)\r\n\[', 3)
If @error Then Return SetError(1, 0, 0)
$s_zl = StringRegExp($s_Sec, '\n\s*([^=;\s][^=\r\n]*)\=(.*)', 3)
If @error Then Return SetError(2, 0, 0)
Local $2_array = []
For $i = 0 To UBound($s_zl) - 1 Step 2
$2_array[$ii] = $s_zl[$i]
$2_array[$ii] = $s_zl[$i + 1]
$ii += 1
Next
Return $2_array
EndFunc ;==>_IniReadSection #Include <File.au3>
$FirstFile="data.ini"
$ResultFile="result.ini"
If FileExists($FirstFile) Then FileDelete($FirstFile)
IniWriteSection($FirstFile,"vs","")
If FileExists($ResultFile) Then FileDelete($ResultFile)
IniWriteSection($ResultFile,"vs","")
For $i=2 To 200 Step 1
_FileWriteToLine($FirstFile,$i,Random(1000000000,9999999999,1),1)
Next
For $j=2 To _FileCountLines($FirstFile) Step 1
$Line=FileReadLine($FirstFile,$j)
$Line=StringReplace($Line,StringLeft($Line,6),"000000")
_FileWriteToLine($ResultFile,$j,$Line,1)
Next
Run("notepad.exe "&$FirstFile)
Run("notepad.exe "&$ResultFile)
dtooboss 发表于 2010-5-25 14:29 http://www.autoitx.com/images/common/back.gif
这个UDF 太强了。。非常感谢~~
lanfengc 发表于 2010-5-25 14:40 http://www.autoitx.com/images/common/back.gif
非常感谢、:face (36):
页:
[1]