【发布时间】:2018-09-06 23:46:27
【问题描述】:
我想从一组模式替换为特定的字符串。例如,这些可能是各种缩写月份名称转换为月份的数值。我创建了一个字典如下(波兰月份字符串 2 数值。
dictionary<-data.frame(
from=c("(S|s)tycz(eń|nia)|(S|s)t(y|ycz)",
"(L|l)ut(y|ego)|(L|l)u(t)",
"(M|m)ar(ca|zec)|(M|m)ar",
"(K|k)wie(tnia|cień)|(K|k)wi(|e)",
"(M|m)aj(a|)",
"(C|c)zerw(ca|iec)|(C|c)e(|r|rw)",
"(L|l)ip(ca|iec)|(L|l)i(|p|c)",
"(S|s)ierp(nia|ień)|(S|s)i(|e|er|erp)",
"(W|w)rze(śnia|sień)|(W|w)rz(|e)",
"(P|p)aździernik(a|)|(P|p)a(ź|źd|źdź)",
"(L|l)istopad(a|)|(L|l)is(|t|to|top)",
"(G|g)rud(nia|zień)|(G|g)ru(|d)"
),
to=c(" 01 "," 02 "," 03 "," 04 "," 05 "," 06 "," 07 "," 08 "," 09 "," 10 "," 11 "," 12 ")
)
我想在一长列脏描述性字符串上使用它,稍后我想从中提取日期。
这些会是这样的:
Badanie zakończy się 28Wrze2018
或
Zakończenie badania 28 Września 2018 najpóźniej...
成千上万条记录以此类推
我想买
Badanie zakończy się 28 09 2018
tidyverse 中是否有可以解决问题的功能或解决方案?到目前为止,我尝试了 library(DataCombine) 但它不起作用,没有将我的列视为文本,可能存在错误。
【问题讨论】:
-
你可以使用
stringr::str_replace_all,例如查看this answer。
标签: r regex dplyr tidyverse stringr