0
我有一個正則表達式能夠匹配我的數據,使用grepl
,但我無法弄清楚如何將其中的子表達式提取到新列。使用正則表達式從字符串的數據框中提取子表達式
這是迴歸測試字符串作爲foo
,沒有任何的子表達式:
entryPattern <- "(\\d+)\\s+([[:lower:][:blank:]-]*[A-Z][[:alpha:][:blank:]-]+[A-Z]\\s[[:alpha:][:blank:]]+)\\s+([A-Z]{3})\\s+(\\d{4})\\s+(\\d\\d\\-\\d\\d)\\s+([[:print:][:blank:]]+)\\s+(\\d*\\:?\\d+\\.\\d+)"
test <- "101 POULET Laure FRA 1992 25-29 E. M. S. Bron Natation 26.00"
m <- regexpr(entryPattern, test)
foo <- regmatches(test, m)
在我的實際使用情況,我作用於大量的字符串類似test
我。我能找到格式正確的格式,所以我認爲模式是正確的。
rows$isMatch <- grepl(entryPattern, rows$text)
什麼「M希望做的就是添加子表達式中的行數據幀新的列(即rows$rank
,rows$name
,rows$country
,等等)。 在此先感謝您的任何建議。