找回密码
 加入
搜索
查看: 2481|回复: 2

[AU3基础] 请问修改文本文件的问题

[复制链接]
发表于 2013-5-7 20:19:25 | 显示全部楼层 |阅读模式
文本文件内容如下:
身份证号:12345
姓名:12345
年龄:100
性别:男

我想在第行加个政治面貌
还想更改第三行的姓名:54321
请问如何实现,谢谢各位高手
发表于 2013-5-8 15:54:02 | 显示全部楼层
猜测第行是指第2行,即姓名上一行
Local $sZZMM = '神仙', $sReName = '54321'
Local $Str = _
                '身份证号:12345' & @CRLF & _
                '姓名:12345' & @CRLF & _
                '年龄:100' & @CRLF & _
                '性别:男' & @CRLF
MsgBox(0, '原字符串', $Str)
Local $sRE = StringRegExpReplace($str, '(姓名:)\V+', '政治面貌:' & $sZZMM & @CRLF & '${1}' & $sReName)
MsgBox(0, '替换结果', $sRE)
发表于 2013-5-9 09:11:54 | 显示全部楼层
本帖最后由 sv0002 于 2013-5-9 09:15 编辑

文本文件只有一条记录?还是有多条?
文件不大的话,把文件读到一个数组(按行拆分),修改对应“姓名”行的值,再写回去
#include <array.au3>

Local $aArray = StringSplit(FileRead("test.txt"),'\n')
_ArrayDisplay($aArray)

Local $of=FileOpen("tmp.txt",2)

Local $oldName="12345"
Local $newName="54321"

For $line In $aArray 
        If StringStripWS(StringLeft($line)) ="姓名:" & $oldName Then
                FileWriteLine($of,"姓名:" & $newName)
                FileWriteLine($of,"政治面貌:")
        Else
                FileWriteLine($of,$line)
        EndIf
        
Next
FileClose($of)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-6 09:40 , Processed in 0.077713 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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