2016-05-31 91 views
1

我有一个文本文件。它包含大量文字的格式如下:需要从R中的字符串文本文件中提取日期

  • 文本
  • 文本
  • 日期在12月12日的格式2016
  • 文本
  • 文本

如何只提取在这种情况下,文件的文本部分中没有其他日期?需要一个R程序。

+0

您可以查看lubridate! –

回答

0

这会做到这一点。你会得到解析的日期,而其余的将成为你可以过滤掉的NA对象。

text=c('a','b','12 December 2016','10 December 2015') 

strptime(text,format='%d %B %Y') 
+0

'strptime'位于基地。无需'图书馆(lubridate)' – cory

+0

@cory谢谢删除图书馆 – karthikbharadwaj

0

我已经为实际目的调用了您的数据集demo_set。 您首先阅读您的数据集: demo_set=readLines(con <- file("yourFile.txt") #read in file.

您可以使用其他方式读取数据集。 然后你使用正则表达式来查找具有月份名称的行。

demo_set[grep(pattern = paste(month.name,collapse = "|"),demo_set)] 
0

如果您的文本不以数字开始,你可以使用下面的代码

abc<- subset(abc, grepl("^[0-9]",name)) 

其中abc是你的数据框和name是你列在你的数据帧

0

您还可以使用一个if语句来检查列中是否有任何值,例如Date,并将它们打印到像这样的屏幕上;

if(!is.na(data$date)) { 
    print(data$date) 
} 

这将打印所有那里是日期值的记录,但如果你宁愿只是一个样本,使用;

print(data$date[1:10])