找回密码
 加入
搜索
查看: 4687|回复: 7

[系统综合] TXT文本匹配内容替换

  [复制链接]
发表于 2012-5-29 14:27:11 | 显示全部楼层 |阅读模式
本帖最后由 ufw119 于 2012-6-5 15:09 编辑

一个原始文本 原始.TXT  ;一个要替换内容的文本 替换.INI
原始.TXT 内容如下:
世界上最完美的乐观心态
XXXXXXXXXXXXXX
世界上最优良的心态——乐观开朗
XXXXXXXXXXXX(代表还有很多行)
交往不悲观的方法
XXXXXXX(代表还有很多行)
替换.INI内容如下:(替换的内容在原文中不同行段出现)
[要替换的内容]
世界上最完美的乐观心态
世界上最优良的心态——乐观开朗
交往不悲观的方法
[替换成]
第一节、世界上最完美的乐观心态
第二节、世界上最优良的心态——乐观开朗
第三节、交往不悲观的方法


修改后原文要最终实现这个样子.
第一节、世界上最完美的乐观心态
XXXXXXXXXXXXXX
第二节、世界上最优良的心态——乐观开朗
XXXXXXXXXXXX(代表还有很多行)
第三节、交往不悲观的方法
XXXXXXX(代表还有很多行)
发表于 2012-5-29 14:58:54 | 显示全部楼层
标准的ini格式文件不是这样的。
在ini格式正确的情况下,可用函数IniReadSection()及StringRegExpReplace()解决楼主的问题。
发表于 2012-5-29 16:03:03 | 显示全部楼层
#include <file.au3>
#include <array.au3>

;$fileText = fileread("")

$fileText = "世界上最完美的乐观心态"&@LF& _
        "世界上最优良的心态——乐观开朗"&@LF& _
        "交往不悲观的方法"
        
$array = StringSplit($filetext , @lf)

For $i = 1 To $array[0]
        $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)
 楼主| 发表于 2012-5-29 16:23:10 | 显示全部楼层
4楼可以实现前面加序号了。但不能替换原文本里面的特定内容。

我要把一本小说里的某些内容,替换成另一些内容。
发表于 2012-5-29 21:45:07 | 显示全部楼层
回复 5# ufw119
楼主的意思是要把原文本中的特定行前面加上序号吗?我的理解。
发表于 2012-5-30 08:41:04 | 显示全部楼层
本帖最后由 netegg 于 2012-5-30 08:42 编辑

回复 5# ufw119
‘最终目的我是要在替换内容前加序号。’ ---- 这不是lz自己的要求吗?
如果表达不清楚,就把前后两种文本的样式,写出来,题目中的xxxx是什么
发表于 2012-5-30 08:56:19 | 显示全部楼层
本帖最后由 netegg 于 2012-5-30 09:00 编辑

[au3]#Include <File.au3>
for $i = 1 to _filecountlines($file) Step 2
   _FileWriteToLine($file, $i, ($i+1)/2 & '、' & filereadline($file, $i), 1)
next[/au3]
这样?

多说一句,ini文件的格式:
[SectionName]
Key=Value
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-20 13:45 , Processed in 0.073959 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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