如何使用模式从字符串向量中提取
1.10E+93
、1012055
、1018598
、AOL
、WDF985
?我想提取两次 1.10E+93
和 1012055
以及一次其他值,即为每个字符串提取一个值。
strings <- c('/ccr/1.10E+93_ccrdt/indices/1.10E+93_ccr_ann_123.csv',
'/ccr/1.10E+93_ccrdt/indices/1.10E+93_obsrst_ann.csv',
'/ccr/1012055_obsrt/indices/1012055_obsrrt.csv',
'/ccr/1012055_obsrt/indices/1012055_ccr_ann.csv',
'/ccr/1018598_obsrt/indices/1018598_obsrrt.csv',
'/ccr/AOL_obsrt/indices/AOL_rrst.csv',
'/ccr/WDF985_obsrt/indices/WDF985_rrst.csv')
c(readr::parse_number(strings))
Warning: 1 parsing failure.
row col expected actual
6 -- a number /ccr/AOL_obsrt/indices/AOL_rrst.csv
结果:
[1] 1.100000e+93 1.100000e+93 1.012055e+06 1.012055e+06 1.018598e+06
[6] NA 9.850000e+02
如果您不想看到警告,可以使用
suppressWarnings()
。 (c()
从结果中删除有关解析错误的信息。)