aur*_*809 5 regex r extract uppercase
我有一个 df:
df <- c("hello goodbye Delete Me", "Another Sentence good program", "hello world The End")
我要这个:
c("hello goodbye", "good program", "hello world")
我试过了:
df <- grep("^[A-Z]", df, invert = TRUE, value = TRUE)
但这会删除以大写字母开头的整个字符:
c("hello goodbye Delete Me", "hello world The End")
我该怎么做呢?
您可以使用 -
trimws(gsub('[A-Z]\\w+', '', df))
#[1] "hello goodbye" "good program" "hello world"
Run Code Online (Sandbox Code Playgroud)
您可以使用以下正则表达式模式,然后仅替换为一个空格:
\s*[A-Z]\w+\s*
Run Code Online (Sandbox Code Playgroud)
这将捕获所有以大写字母开头的单词,以及可能出现在两侧的任何空格。外部调用trimws()是为了删除可能保留在开头或结尾的任何空格,作为替换逻辑的剩余部分。
x <- c("nice to meet You however", "cat Ran away", "Cat", "Dog")
trimws(gsub('\\s*[A-Z]\\w+\\s*', ' ', x))
[1] "nice to meet however" "cat away" ""
[4] ""
Run Code Online (Sandbox Code Playgroud)