在一篇相关文章中,有人询问如何从字符串的开头抓取到第一次出现的字符。我想通过询问如何从字符串的某个字符抓取到结尾来扩展我自己对正则表达式的了解。
我如何使用 regex (not strsplit
) 和 gsub 从第一个空格的开头抓取到字符串的结尾?
dob <- c("9/9/43 12:00 AM/PM", "9/17/88 12:00 AM/PM", "11/21/48 12:00 AM/PM")
在这里我尝试了:gsub(".*? ", "", dob)
但它从最后一个空间而不是第一个空间中抓取,所以我尝试gsub(".{1}? ", "", dob)
了,但由于时间原因它过于贪婪。
最终解决方案将与以下内容相同:
sapply(lapply(strsplit(dob, "\\s+"), "[", 2:3), paste, collapse=" ")
##[1] "12:00 AM/PM" "12:00 AM/PM" "12:00 AM/PM"
注意:R regex 通常与 regex 不同