【发布时间】:2019-12-03 20:11:09
【问题描述】:
我想在一个data.frame(类是字符串)中更改“[”太“(”但我收到以下错误:
gsub("[", "(", df) 中的错误: 无效的正则表达式'[',原因'缺少']''
倒车效果很好:
df <- gsub("]",")", df)
所有“]”在data.frame df中被替换
所以本质上这就是问题
df <- gsub("[","(", df)
gsub("[", "(", df) 中的错误: 无效的正则表达式'[',原因'缺少']''
任何人都可以帮助修复代码 或者是否有 gsub 的替代功能可以完成相同的功能?
【问题讨论】:
-
方括号和圆括号是正则表达式 元字符,它们在正则表达式模式中具有特殊含义。所以,你应该逃避他们。我不知道为什么第二个版本可以工作,这很有趣。
-
当使用 gsub(或任何其他使用模式的函数,如 grep)时,您必须考虑该模式是否包含元字符,如果是,则通过添加 ' 来转义它们的“正常”函数\\' 在它前面。