我有以下问题。我有许多文本文件需要整理以供进一步处理。我为其中一个有效的文件记录了一个 VBA 代码。我使用 R 的 readr、rbind 和 write.table 将我的文本文档合并到一个文件中,然后想使用我记录的 Word 的 VBA 进行清理(我不擅长 r 中的正则表达式)。这是 R 中的代码,这里只有两个文件作为示例:
library(readr)
temp = list.files(pattern="*txt")
for (i in 1:length(temp)) assign(temp[i], read_file(temp[i]))
total <- rbind(`Chinese (1).txt`,`Chinese (2).txt`)
write.table(total, "mymatrix.txt", fileEncoding = "UTF-8", row.names = FALSE, col.names = FALSE, quote = FALSE)
我现在遇到的问题是该段落必须在某个特定点发生了某些事情,这意味着我的 VBA 不再识别这些段落,即使它应该这样做。这显示了一个新的 word 文件,该文件说明了原始文件与我在 R 中的解决方法相比有何不同:
我在这个例子中使用的 VBA 代码是:
Sub Macro3()
'
' Macro3 Macro
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p^p"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
这导致了这个结果:
发生了什么?我该如何解决?我能想到的最好的办法就是将各种中文文件复制粘贴到一个中,但最终会更多,所以我希望使用 rbind 来减少出错的可能性。