Page 1 of 1

如何在某文本文档(共60行)里的第5行的下一行追加新的文本

Posted: 01 May 2015, 04:01
by autu
如题 : 我要在某文本文档中间追加新的文本。




谢谢···········!

Re: 如何在某文本文档(共60行)里的第5行的下一行追加新的文本

Posted: 01 May 2015, 12:51
by tmplinshi
先读取前 5 行,然后接上要追加的文本,以及剩余的内容。

Code: Select all

AppendText("某文本文档.txt", 5, "新的文本")

AppendText(FileName, LineNum, Text) {
	f := FileOpen(FileName, "r")

	content_ := ""
	Loop, % LineNum
		content_ .= f.ReadLine()
	newContent := content_ . Text . "`r`n" f.Read()

	encoding := f.Encoding
	f.Close()

	FileOpen(FileName, "w", encoding).Write(newContent)
}

Re: 如何在某文本文档(共60行)里的第5行的下一行追加新的文本

Posted: 02 May 2015, 02:56
by tmplinshi
另一个办法是用正则替换:

Code: Select all

AppendText(FileName, LineNum, Text) {
	f := FileOpen(FileName, "r")
	dat := f.Read()
	encoding := f.Encoding
	f.Close()

	dat := RegExReplace(dat, "^(.*?(\R)){" . LineNum . "}", "$0" . Text . "$2")
	FileOpen(FileName, "w", encoding).Write(dat)
}

Re: 如何在某文本文档(共60行)里的第5行的下一行追加新的文本

Posted: 08 May 2015, 23:57
by autu
谢谢 tmplinshi