amadisyeh 发表于 2010-12-6 17:23:25

請教 文件字串替換總是無法正確動作[已解决]

本帖最后由 amadisyeh 于 2010-12-7 20:56 编辑

有2個 檔案分別是

    aaaaa.Config 要重裡面取出一個字串 userpass=40f902dcb1a96a0ff46e090e207a3628;
取代在
bbbbb.sav 裡面的 userpass=1234567890000003333;

因此我這樣寫
$file_str_a = FileOpen("aaaaa.Config", 0)
$file_str_b = FileOpen("bbbbb.sav", 0)

Msgbox(0, "file_a", $file_str_a)

Msgbox(0, "file_b", $file_str_b)
$str = StringRegExp($file_str_a,"userpass\=\w*\;",1,1)

Msgbox(0, "取出的字串", $str)
但 讀出來的總是不對 ,請問應該是怎麼寫 請指教謝謝您


afan 发表于 2010-12-6 17:32:26

$file_str_a = FileRead("aaaaa.Config")
$file_str_b = FileRead("bbbbb.sav")

MsgBox(0, "file_a", $file_str_a)

MsgBox(0, "file_b", $file_str_b)
$str = StringRegExp($file_str_a, "userpass\=\w*\;", 1)

MsgBox(0, "取出的字串", $str)

afan 发表于 2010-12-6 17:42:59

本帖最后由 afan 于 2010-12-7 00:26 编辑

Local $file2 = 'bbbbb.sav'
Local $file_str_a = FileRead('aaaaa.Config')
Local $file_str_b = FileRead($file2)
Local $str = StringRegExp($file_str_a, 'userpass=\w*;', 1)
If @error Then Exit -1 ;未找到
$file_str_b = StringRegExpReplace($file_str_b, 'userpass=\w*;', $str)
If @error Or @extended < 1 Then Exit -2 ;未替换
FileClose(FileOpen($file2, 2))
If FileWrite($file2, $file_str_b) Then MsgBox(64, '', '成功替换 ')

amadisyeh 发表于 2010-12-7 19:13:29

謝謝 afan 的回覆 ,很抱歉昨晚臨時出了些意外.這麼晚才有空上來看看,我馬上來看看

只是想以最快速度和回覆的 afan 說聲謝謝
页: [1]
查看完整版本: 請教 文件字串替換總是無法正確動作[已解决]