我想使用R的gsub从文本中删除除撇号之外的所有标点符号.我对正则表达式很新,但我正在学习.
例:
x <- "I like %$@to*&, chew;: gum, but don't like|}{[] bubble@#^)( gum!?"
gsub("[[:punct:]]", "", as.character(x))
Run Code Online (Sandbox Code Playgroud)
电流输出(没有撇号)
[1] "I like to chew gum but dont like bubble gum"
Run Code Online (Sandbox Code Playgroud)
期望的输出(我希望撇号不要留下)
[1] "I like to chew gum but don't like bubble gum"
Run Code Online (Sandbox Code Playgroud) 我有以下正则表达式分裂任何空格或标点符号.如何从中排除1个或多个标点字符:punct:?假设我想排除撇号和逗号.我知道我可以明确使用[all punctuation marks in here]而不是,[[:punct:]]但我希望有一个排除方法.
X <- "I'm not that good at regex yet, but am getting better!"
strsplit(X, "[[:space:]]|(?=[[:punct:]])", perl=TRUE)
[1] "I" "'" "m" "not" "that" "good" "at" "regex" "yet"
[10] "," "" "but" "am" "getting" "better" "!"
Run Code Online (Sandbox Code Playgroud)