【发布时间】:2021-10-05 23:43:36
【问题描述】:
我在 R 中有以下字符串
A<-"A (23) 56 hh()"
我想得到以下输出
"A (23) 56 hh"
我尝试了以下代码
B<-gsub(pattern = "()", replacement = "", x = A)
这并没有产生预期的结果。我怎样才能做到这一点
【问题讨论】:
我在 R 中有以下字符串
A<-"A (23) 56 hh()"
我想得到以下输出
"A (23) 56 hh"
我尝试了以下代码
B<-gsub(pattern = "()", replacement = "", x = A)
这并没有产生预期的结果。我怎样才能做到这一点
【问题讨论】:
在gsub 中尝试fixed = TRUE
> gsub("()", "", A, fixed = TRUE)
[1] "A (23) 56 hh"
【讨论】:
使用str_remove
library(stringr)
str_remove_all(A, fixed("()"))
-输出
[1] "A (23) 56 hh"
【讨论】:
(, 1, 0, ) 到 10
gsub("\\D+", "", str1)# [1] "10"
试试B<-gsub(pattern = "\\(\\)", replacement = "", x = A)
\\ 表示它是一个特定的字符——而不是括号中的正则表达式
【讨论】:
dy_by 和 ThomasIsCoding 有很好的答案。这是dy_by的答案的修改
gsub(pattern = "\\()", replacement = "", x = A)
[1] "A (23) 56 hh"
【讨论】:
另一个定义删除两个连续括号字符的选项,这消除了对 fixed=TRUE 的需要:
library(stringr)
A %>% str_remove("[()]{2}")
[1] "A (23) 56 hh"
【讨论】: