我正在使用R使用tei-xml中的长文本文档。我想处理原始文本以进行单词计数等。
当我尝试
library(xml2)
x <- read_xml("<text><p>Some text</p><p>another bit of text</p>
<p>and some more
text.</p></text>")
x_text <- xml_text(x)
x_text
# [1] "Some textanother bit of textand some more \n text."
返回的文本有两个问题。
1)除去xml标记后,单词被串联起来。如何避免使用“ textanother”?
2)换行符显示为\ n。使用grep
可以轻松解决此问题,但我想知道是否可以一开始就避免它。
答案 0 :(得分:1)
您可以选择所有文本节点,然后将它们粘贴在一起,以便在它们之间留出一个空格
paste(xml_text(xml_find_all(x, "//text()")), collapse=" ")
或者您可以避免粘贴以使其分开。 xml_text
可以修剪空格,但不会从换行符所在的字符串中间删除空格。如果您只想用一个空格删除多个空白字符,则可以
gsub("\\s+", " ",paste(xml_text(xml_find_all(x, "//text()")), collapse=" "))
# [1] "Some text another bit of text and some more text."