R如何拆分字符串

R How to split a string

我有一个像

这样的字符串
a <- "Hi. I m cool, but I need help!"

作为输出我想要

"hi" "." "I" "m" "cool" "," "but" "I" "need" "help" "!"

而且我不想使用额外的包。

我们可以使用strsplit

a1 <- strsplit(a, '\s|(?=[!,.])\s*', perl = TRUE)[[1]]
a1[nzchar(a1)]
#[1] "Hi"   "."    "I"    "m"    "cool" ","    "but"  "I"    "need" "help" "!"