[英]Extracting string after specific word
I tried looking around for a similar question, but did not find any.我试图四处寻找类似的问题,但没有找到任何问题。 I'm trying to extract the string immediately after a specific word.
我试图在特定单词之后立即提取字符串。
I have a bunch of strings, but I only want to extract the string after "TaskItem:"
.我有一堆字符串,但我只想在
"TaskItem:"
之后提取字符串。 I tried using str_extract
but was not able to get the output I need.我尝试使用
str_extract
但无法获得我需要的 output。
Here's some sample data:以下是一些示例数据:
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")
So, in the above example, I would just like "TaskItem: SCHEDULE_PREFERENCES;"
所以,在上面的例子中,我只想
"TaskItem: SCHEDULE_PREFERENCES;"
to return "SCHEDULE_PREFERENCES"
(removing the semicolon would be great but not important) and "TaskItem: SCHEDULE;"
返回
"SCHEDULE_PREFERENCES"
(删除分号会很好但并不重要)和"TaskItem: SCHEDULE;"
to return "SCHEDULE"
;返回
"SCHEDULE"
; the other two can be NA
.另外两个可以是
NA
。 Any suggestions would be great.任何建议都会很棒。 Thank you!
谢谢!
We can use str_extract
with a regex lookaround我们可以将
str_extract
与正则表达式环视一起使用
library(stringr)
str_extract(sample, "(?<=TaskItem:\\s)[^;]+")
#[1] "CURATED_CONTENT" NA "SCHEDULE" NA
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.