[已解决] 如何替换指定行?
本帖最后由 xlcwxl 于 2010-8-15 20:33 编辑有一文本,其中第1、4、7、11行中的内容是一致,可以通过什么方法把他们分别替换成不一样的内容?
答案在:
11#afan
12# 3mile
感谢afan、3mile的热心帮助 文本替换,一次替换一个,做四次完成,每次替换的结果不同~ ini文件?关键字相同? 回复 3# afan
谢谢afan,文本文件 回复 4# xlcwxl
举例说明吧,范本及期望结果 回复 5# afan
==================================================
编号=03
用户名=张三
密码=123456
==================================================
==================================================
编号=03
用户名=李四
密码=654321
==================================================
==================================================
编号=03
用户名=王五
密码=123
==================================================
想替换成以下格式
编号=03
用户名=张三
密码=123456
编号=03
用户名=李四
密码=654321
编号=03
用户名=王五
密码=123
“==================================================”这东西也有?
另外你这个范本只有重复的,没有不重复的? 还要新增加字段名? 字段名数字递加? 太多不解 回复 7# afan
呵呵,基本格式就是这样,没有其它变化,只有重复
至于字段名数字递加这个无所谓,随便叫什么都可以
谢谢afan我想下能否通过其它方法解决。 所有的都是 “编号=03”? 本帖最后由 xlcwxl 于 2010-8-15 17:08 编辑
回复 9# afan
不一样,测试的时候搞忘改了{:face (303):} $Str = _
'==================================================' & @CRLF & _
'编号=03' & @CRLF & _
'用户名=张三' & @CRLF & _
'密码=123456' & @CRLF & _
'==================================================' & @CRLF & _
'' & @CRLF & _
'==================================================' & @CRLF & _
'编号=03' & @CRLF & _
'用户名=李四' & @CRLF & _
'密码=654321' & @CRLF & _
'==================================================' & @CRLF & _
'' & @CRLF & _
'==================================================' & @CRLF & _
'编号=03' & @CRLF & _
'用户名=王五' & @CRLF & _
'密码=123' & @CRLF & _
'=================================================='
MsgBox(0, '原字符串', $Str)
Local $i = 1, $bj
While 1
If Not $bj Then
$Str = StringRegExpReplace($Str, '==+', '[' & StringFormat('%03d', $i) & ']', 1)
$bj = True
$i += 1
Else
$Str = StringRegExpReplace($Str, '==+(\r\n|$)', '', 1)
$bj = False
EndIf
If @extended = 0 Then ExitLoop
WEnd
MsgBox(0, '替换后', $Str) $Str = _
'==================================================' & @CRLF & _
'编号=03' & @CRLF & _
'用户名=张三' & @CRLF & _
'密码=123456' & @CRLF & _
'==================================================' & @CRLF & _
'' & @CRLF & _
'==================================================' & @CRLF & _
'编号=03' & @CRLF & _
'用户名=李四' & @CRLF & _
'密码=654321' & @CRLF & _
'==================================================' & @CRLF & _
'' & @CRLF & _
'==================================================' & @CRLF & _
'编号=03' & @CRLF & _
'用户名=王五' & @CRLF & _
'密码=123' & @CRLF & _
'=================================================='
MsgBox(0, '原字符串', $Str)
$obj=StringRegExp($str,'(?ms)={2,}(.*?)={2,}',3)
$str=''
For $i=0 To UBound($obj)-1
$str&='['&StringFormat('%03d',$i+1)&']'&$obj[$i]&@CRLF
Next
MsgBox(0,'替换后',$str)
页:
[1]