在 R 中使用多个定界符从 .txt 文件中读取数据

Reading data from .txt file with multiple delimiter in R

谁能告诉我如何从具有多个分隔符的 .txt 文件中读取数据。考虑以下示例以供参考,

<迈克>////????[011]-[234564]///>>>>[ABC]

<哈德利戴维森>///??[080]-[42071186]..[DEC]

我的输出应该如下,

迈克 011234564 美国广播公司

哈德利戴维森 08042071186 DEC

感谢和问候, 墨涵

我们可以使用 readLines 读取它,然后使用正则表达式删除不需要的字符

 gsub('(?<=[0-9])\s+(?=[0-9])|^\s+|\s+$', '', 
       gsub('[[:punct:]]+', ' ', lines), perl=TRUE)
#[1] "Mike  011234564 ABC"               "Hardley davidson  08042071186 DEC"

或者如果模式相似,我们可以使用单个 sub

sub(".*\<([^> ]+)[^0-9]+([0-9]+)[^0-9]+([0-9]+)[^A-Z]+([A-Z]+).*", 
           "\1 \2\3 \4", lines)
#[1] "Mike 011234564 ABC"       "davidson 08042071186 DEC"

数据

lines <- readLines(textConnection("< Mike >////????[011]-[234564]///>>>[ABC]
 < Hardley davidson >///??[080]-[42071186]..[DEC]"))