R 按多个正则表达式条件筛选行
我试图通过以下表达式过滤数据帧中的各种行。前两个是根据regex101工作的,但我不能让数字3和4正常工作R 按多个正则表达式条件筛选行,r,regex,R,Regex,我试图通过以下表达式过滤数据帧中的各种行。前两个是根据regex101工作的,但我不能让数字3和4正常工作 在两个::DTM+137:20180101:102->^DTM.*\:(.*):->20180101 两个::数量+113:3:PCE->^QTY.*:(.*):->3 在第二次+和随后的::UNH+10870+DELFOR:D:96A:UN->??->DELFOR 秒后所有内容+:PIA+1+TC\U 5504\U 00\U 312010\U 0010+50100 AA40 2.8
:
:DTM+137:20180101:102
->^DTM.*\:(.*):
->20180101
:
:数量+113:3:PCE
->^QTY.*:(.*):
->3
+
和随后的:
:UNH+10870+DELFOR:D:96A:UN
->??
->DELFOR
+
:PIA+1+TC\U 5504\U 00\U 312010\U 0010+50100 AA40 2.8t型4466 G
->?
->TC\U 5504\U 00\U 312010\U 0010+50100 AA40 2.8t型4466 G
R
脚本中,因此我以后仍然需要转义一些字符
编辑:
我无意中忘记了一句话:
+
:UNB+UNOC:3+4399901362247+\u GLN\u公司+180101:0050+10870
->??
->180101:0050+10870
库(stringr)
x=“DTM+137:20180101:102”
str_摘录(x,“(?)?
library(stringr)
x = "DTM+137:20180101:102"
str_extract(x, "(?<=:)(.*?)(?=:)")
# [1] "20180101"
y = "QTY+113:3:PCE"
str_extract(y, "(?<=:)(.*?)(?=:)")
# [1] "3"
z = "UNH+10870+DELFOR:D:96A:UN"
str_extract(z, "(?<=\\+)([A-Z].*?)(?=:)")
# [1] "DELFOR"
u = "PIA+1+TC_5504_00_312010_0010+50100 AA40 2.8t Type 4466 G"
str_extract(u, "(?<=\\+)([A-Z].*)")
# [1] "TC_5504_00_312010_0010+50100 AA40 2.8t Type 4466 G"