Dim?newfile?As?New?List(Of?String)
創(chuàng)新互聯(lián)公司長(zhǎng)期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為牡丹企業(yè)提供專(zhuān)業(yè)的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,牡丹網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
For?Each?line?As?String?In?System.IO.File.ReadAllLines("TextFile1.txt")
If?Not?line.StartsWith("3")?Then?newfile.Add(line)
Next
System.IO.File.WriteAllLines("TextFile1.txt",?newfile)
建個(gè)集合,用System.IO.File的ReadAllLines讀出所有內(nèi)容,逐個(gè)判斷,如果是需要的加入集合,如果是要?jiǎng)h除的什么都不做,最后用WriteAllLines寫(xiě)入即可。
這里說(shuō)明一下,上面那個(gè)代碼是用來(lái)刪除所有以3開(kāi)頭的文本行。
不是有兩個(gè)換行符,而是因?yàn)椤盎剀?chē)換行符”是由兩個(gè)特殊字符構(gòu)成的,一個(gè)是回車(chē)符(Chr(13),常數(shù)為vbCr),一個(gè)是換行符(Chr(10),常數(shù)為vbLf),如果你只按回車(chē)符來(lái)分割成數(shù)組,那么最后就會(huì)多出一個(gè)換行符,這個(gè)字符會(huì)被VB自動(dòng)解析為回車(chē)換行符。
應(yīng)該把?AA = Split(Text3, Chr(13)) 改為?AA = Split(Text3, vbCrLf) ,這樣就沒(méi)問(wèn)題了。
下面是另一種實(shí)現(xiàn)方法:
Private?Sub?Command1_Click()
Dim?AA()?As?String
AA?=?Split(Text3,?vbCrLf)
For?i?=?0?To?UBound(AA)
AA(i)?=?Text1??AA(i)??Text2
Next
Text3?=?Join(AA,?vbCrLf)
End?Sub
思路與方法:
1,一行為讀取單位,讀取并保存到數(shù)組。
2,逆序循環(huán),可以獲得末尾空白行數(shù)。
3,以行為寫(xiě)單位,寫(xiě)入到文件。
如果只是末尾的空行,直接用Trim方法就可以了
Dim str As String = My.Computer.FileSystem.ReadAllText("d:\text.txt").Trim
'上面的d:\text.txt文件中末尾有很多空行,用了Trim方法后就把后面的空行都去除了
MsgBox(str)'這里可以看到