我試圖使用正則表達式從文本文件中刪除整行(包括斷行)。使用正則表達式排除VBS中的整行
這是我的代碼:
Do Until objFileToRead1.AtEndOfStream
nline = objFileToRead1.ReadLine()
regEx.Pattern = ".*to "
nline = regEx.Replace(nline, "")
objFileToRead2.WriteLine nline
Loop
這是罰款和工作正常。 所以,如果我的文本文件包含:
hahahaha to hehehehe to hihihihi hohohoho to
它變成:
(blank line) hehehehe to hihihihi (blank line)`
不過,我不希望空白等。我已經嘗試過使用regEx.Pattern = ".*to \r\n"
,但似乎來自正則表達式的\r\n
不工作,每次我嘗試運行腳本時,它都不會刪除任何內容(因爲搜索沒有找到任何內容)。還嘗試用括號和括號封裝表達式,但沒有運氣。
有任何提示?
這是否意味着您的'nline'在匹配時爲空?在寫入文件之前檢查它 - '如果Len(nline)> 0然後objFileToRead2.WriteLine nline' –
@WiktorStribiżew實際上我試圖用'to來代替以'nothing'結尾的每一行,意思是行應該被刪除而不是保持空白。 – Adami
請閱讀下面的解決方案。問題是,你仍然用'.WriteLine'寫出空行。 –