我有一个手稿,并希望使用正则表达式从中提取所有引用。处理来自手稿的测试样本时,我开发了一个正则表达式-参见此处:Regex in R: How to extract citations from manuscript。它可以完美地在名为samp
的示例上运行:
str_extract_all(samp, "\\([A-Za-z][^)]*\\d{4};|;\\s[A-Za-z][^)]*\\d{4}\\)|\\([A-Za-z][^)]*\\d{4}.*?\\)|\\b[A-Z][a-z].*\\([^A-Za-z)]\\w.*?\\)|\\b[A-Z][a-z].*\\(forthcoming\\)|\\b[A-Z][a-z].*\\(in preparation\\)|\\([A-Za-z][^);]*\\d{4}|(?<=;\\s)[A-Za-z][^);]*\\d{4}")
但是:正则表达式不能在实际的手稿上很好地工作(显然,手稿比示例大,并且可能具有比示例更复杂的内部结构),因为与示例不同,我无法将手稿转换成单个连贯的字符串。
我试图以此方式阅读文档:
read.table([my path], header = F, sep = "\n", fill = F, stringsAsFactors = F, strip.white = T)
而且我已经使用paste
将其融合在一起:
paste0(manuscript$V1, collapse = "")
但是结果对象仍然具有内部分隔,以防止正则表达式在整个文档中无缝运行。
那么,如何以构成单个不间断字符串的方式]读入或后期处理?>?
非常感谢您提供有关此问题的帮助。
我有一个手稿,并希望使用正则表达式从中提取所有引用。在手稿上测试样本的过程中,我开发了一个正则表达式-参见此处:R中的正则表达式:如何提取引文...
我们可以使用readLines
来获取文件内容作为行列表,然后我们将其折叠为单个不间断的字符串。