TXT文本匹配内容替换
本帖最后由 ufw119 于 2012-6-5 15:09 编辑一个原始文本 原始.TXT;一个要替换内容的文本 替换.INI
原始.TXT 内容如下:
世界上最完美的乐观心态
XXXXXXXXXXXXXX
世界上最优良的心态——乐观开朗
XXXXXXXXXXXX(代表还有很多行)
交往不悲观的方法
XXXXXXX(代表还有很多行)
替换.INI内容如下:(替换的内容在原文中不同行段出现)
[要替换的内容]
世界上最完美的乐观心态
世界上最优良的心态——乐观开朗
交往不悲观的方法
[替换成]
第一节、世界上最完美的乐观心态
第二节、世界上最优良的心态——乐观开朗
第三节、交往不悲观的方法
修改后原文要最终实现这个样子.
第一节、世界上最完美的乐观心态
XXXXXXXXXXXXXX
第二节、世界上最优良的心态——乐观开朗
XXXXXXXXXXXX(代表还有很多行)
第三节、交往不悲观的方法
XXXXXXX(代表还有很多行) 标准的ini格式文件不是这样的。
在ini格式正确的情况下,可用函数IniReadSection()及StringRegExpReplace()解决楼主的问题。 #include <file.au3>
#include <array.au3>
;$fileText = fileread("")
$fileText = "世界上最完美的乐观心态"&@LF& _
"世界上最优良的心态——乐观开朗"&@LF& _
"交往不悲观的方法"
$array = StringSplit($filetext , @lf)
For $i = 1 To $array
$array[$i - 1] = $i & "、" &$array[$i]
Next
ReDim $array[$i - 1]
$newText = _ArrayToString($array, @lf)
MsgBox(0,0,$newText)
;$file = fileopen("",25)
;filewrite($file, $newtext)
;fileclose($file) 4楼可以实现前面加序号了。但不能替换原文本里面的特定内容。
我要把一本小说里的某些内容,替换成另一些内容。 回复 5# ufw119
楼主的意思是要把原文本中的特定行前面加上序号吗?我的理解。 本帖最后由 netegg 于 2012-5-30 08:42 编辑
回复 5# ufw119
‘最终目的我是要在替换内容前加序号。’ ---- 这不是lz自己的要求吗?
如果表达不清楚,就把前后两种文本的样式,写出来,题目中的xxxx是什么 本帖最后由 netegg 于 2012-5-30 09:00 编辑
#Include <File.au3>
for $i = 1 to _filecountlines($file) Step 2
_FileWriteToLine($file, $i, ($i+1)/2 & '、' & filereadline($file, $i), 1)
next
这样?
多说一句,ini文件的格式:
Key=Value
页:
[1]