[英]Extracting string after specific word
我试图四处寻找类似的问题,但没有找到任何问题。 我试图在特定单词之后立即提取字符串。
我有一堆字符串,但我只想在"TaskItem:"
之后提取字符串。 我尝试使用str_extract
但无法获得我需要的 output。
以下是一些示例数据:
sample <- structure(c(14L, 10L, 16L, 9L), .Label = c("", "crash: ae01531510acf7b30821ce9d3d28db889e6b1504; manufacture: samsung; cpu: arm64-v8a; opengl: 3; os: Android; orientation: Landscape; nonfatal: false; root: false; online: true; muted: false; background: false; app_version: 1.1.2; ram_current: 2468; ram_total: 3644; disk_current: 4649; disk_total: 4851; bat: 100; run: 1337;",
"crash: ae01531510acf7b30821ce9d3d28db889e6b1504; manufacture: samsung; cpu: arm64-v8a; opengl: 3; os: Android; orientation: Landscape; nonfatal: false; root: false; online: true; muted: false; background: false; app_version: 1.1.2; ram_current: 2499; ram_total: 3644; disk_current: 4649; disk_total: 4851; bat: 100; run: 221;",
"crash: ae01531510acf7b30821ce9d3d28db889e6b1504; manufacture: samsung; cpu: arm64-v8a; opengl: 3; os: Android; orientation: Landscape; nonfatal: false; root: false; online: true; muted: true; background: false; app_version: 1.1.2; ram_current: 2559; ram_total: 3644; disk_current: 4649; disk_total: 4851; bat: 100; run: 1215;",
"crash: ae01531510acf7b30821ce9d3d28db889e6b1504; manufacture: samsung; cpu: arm64-v8a; opengl: 3; os: Android; orientation: Landscape; nonfatal: false; root: false; online: true; muted: true; background: false; app_version: 1.1.2; ram_current: 2627; ram_total: 3644; disk_current: 4649; disk_total: 4851; bat: 100; run: 235;",
"crash: ae01531510acf7b30821ce9d3d28db889e6b1504; manufacture: samsung; cpu: arm64-v8a; opengl: 3; os: Android; orientation: Landscape; nonfatal: false; root: false; online: true; muted: true; background: false; app_version: 1.1.2; ram_current: 2655; ram_total: 3644; disk_current: 4649; disk_total: 4851; bat: 100; run: 115;",
"crash: ae01531510acf7b30821ce9d3d28db889e6b1504; manufacture: samsung; cpu: arm64-v8a; opengl: 3; os: Android; orientation: Landscape; nonfatal: false; root: false; online: true; muted: true; background: false; app_version: 1.1.2; ram_current: 2656; ram_total: 3644; disk_current: 4649; disk_total: 4851; bat: 100; run: 1681;",
"segment: Android; name: CalendarDetailActivity; visit: 1;",
"segment: Android; name: MainActivity; visit: 1;", "segment: Android; name: OnBoardingActivity; visit: 1;",
"segment: Android; name: SchedulePreferenceActivity; visit: 1;",
"segment: Android; name: SplashActivity; start: 1; visit: 1;",
"segment: Android; name: SplashActivity; visit: 1;", "TaskItem: CURATED_CONTENT;",
"TaskItem: SCHEDULE_PREFERENCES;", "TaskItem: SCHEDULE;"), class = "factor")
所以,在上面的例子中,我只想"TaskItem: SCHEDULE_PREFERENCES;"
返回"SCHEDULE_PREFERENCES"
(删除分号会很好但并不重要)和"TaskItem: SCHEDULE;"
返回"SCHEDULE"
; 另外两个可以是NA
。 任何建议都会很棒。 谢谢!
我们可以将str_extract
与正则表达式环视一起使用
library(stringr)
str_extract(sample, "(?<=TaskItem:\\s)[^;]+")
#[1] "CURATED_CONTENT" NA "SCHEDULE" NA
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.