2016-05-31 94 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])