如何删除R中字符串中特定长度的单词?

are*_*ddy 5 regex string r trim gsub

我想在字符串中删除长度小于3的单词.例如,我的输入是

str<- c("hello RP have a nice day")
Run Code Online (Sandbox Code Playgroud)

我想要我的输出

str<- c("hello have nice day")
Run Code Online (Sandbox Code Playgroud)

请帮忙

She*_*hen 8

试试这个:

gsub('\\b\\w{1,2}\\b','',str)
[1] "hello  have  nice day"
Run Code Online (Sandbox Code Playgroud)

编辑 \ b是单词边界.如果需要删除额外空间,请将其更改为:

gsub('\\b\\w{1,2}\\s','',str)
Run Code Online (Sandbox Code Playgroud)

要么

gsub('(?<=\\s)(\\w{1,2}\\s)','',str,perl=T)
Run Code Online (Sandbox Code Playgroud)

  • 或许对正则数据集的作用添加一些解释? (2认同)