簡體   English   中英

在特定單詞后提取字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM