R 替换“中的任何字符”;()";字符串中有其他字符吗?

R 替换“中的任何字符”;()";字符串中有其他字符吗?,r,R,如果标题令人困惑,请道歉。我想用其他字符替换“()”中的任何字符 这就是电流输出 > "x(oldcharacters) y(oldcharacters) z(oldcharacters)" 这是期望的输出 > "x(newcharacters) y(newcharacters) z(newcharacters)" 我想这是一个gsub作业,但不太确定。我们可以使用gsub匹配((转义\\,因为它是作为组捕获的元字符),然后是一个或多个非)的字符(+),然后是),并替换为(和替换

如果标题令人困惑,请道歉。我想用其他字符替换“()”中的任何字符

这就是电流输出

> "x(oldcharacters) y(oldcharacters) z(oldcharacters)"
这是期望的输出

> "x(newcharacters) y(newcharacters) z(newcharacters)"

我想这是一个gsub作业,但不太确定。

我们可以使用
gsub
匹配
(转义
\\
,因为它是作为组捕获的元字符),然后是一个或多个非
)的字符(
+
),然后是
,并替换为
和替换中的字符

gsub("\\([^)]+\\)", "(newcharacters)", str1)
#[1] "x(newcharacters) y(newcharacters) z(newcharacters)"
数据
str1哈哈,好吧,很明显我需要学习一些表达方式。谢谢这个!非常有趣的案例。
str1 <- "x(oldcharacters) y(oldcharacters) z(oldcharacters)"