求助读取INI文件内容 替换到其他文本的指定行 已解决
本帖最后由 cool8 于 2017-12-21 19:07 编辑INi文件内容
Duser=feng.2
文本文件内容
{
"user" : "qwe.1",
"pass" : "x",
}
怎么才能将读取的duser数值直接替换到文本文件中 用feng.2替换qwe.1
希望告知 ;假设你已读取ini文件,保存为$str1变量
$str1 = 'feng.2'
;假设你已读取文本信息,保存为$str2变量
$str2 =' { ' & @CRLF & _
'"user" : "qwe.1",' & @CRLF & _
'"pass" : "x",' & @CRLF & _
'}'
;突然不知道正则替换该怎么写。。。郁闷,,只能绕个弯了。。。。。。
$str2 = StringRegExpReplace($str2,StringRegExp($str2,'user\V+"(\V+)"',3),$str1)
MsgBox(0,"忧伤的注释",$str2) 回复 2# yamakawa
变量知道 替换写入到文本还是没搞懂 ...... Local $sSource = _
'{' & @CRLF & _
' "user" : "qwe.1",' & @CRLF & _
' "pass" : "x",' & @CRLF & _
'}'
;~MsgBox(0, '源字符串', $sSource)
Local $sRe = 'feng.2'
Local $sSRERe = StringRegExpReplace($sSource, '("user[" :]+)[^"]+', '${1}' & $sRe)
MsgBox(0, '替换结果', $sSRERe) 回复 3# cool8
Local $file = FileOpen("目标文件",2)
Local $SourceString = FileRead($file)
Local $ReplaceString = 'feng.2'
Local $OutString = StringRegExpReplace($SourceString, '("user[" :]+)[^"]+', '${1}' & $ReplaceString)
;~ Local $OutString = StringRegExpReplace($SourceString,StringRegExp($SourceString,'user\V+"(\V+)"',3),$ReplaceString)
If FileWrite($file,$OutString) Then
MsgBox(0,"","替换成功")
Else
MsgBox(0,"","替换失败")
EndIf
FileClose($file)
回复 4# afan
谢谢 回复 5# yamakawa
谢谢 解决了麽? 问题~ 回复 6# cool8
问题解决了就修改一下标题 回复 5# yamakawa
文件替换后就变空白了 都没了 回复 4# afan
怎么写入到文本文件中啊? 回复 11# cool8
Local $sSource = _
'{' & @CRLF & _
' "user" : "qwe.1",' & @CRLF & _
' "pass" : "x",' & @CRLF & _
'}'
;~MsgBox(0, '源字符串', $sSource)
Local $sRe = 'feng.2'
Local $sSRERe = StringRegExpReplace($sSource, '("user[" :]+)[^"]+', '${1}' & $sRe)
MsgBox(0, '替换结果', $sSRERe)
FileWrite('文本文件.txt', $sSRERe) 回复 12# afan
非常感谢
页:
[1]