R:用gsub()替换文本中的特殊字符

时间:2015-11-17 14:13:48

标签: regex r

我想在文本中替换一系列表情符号。我尝试过以下方法:

gsub(":)", "xxx", "some text >:) more text :) even more text", fixed = TRUE)
  • 返回:some text >xxx more text xxx even more text

gsub("\\b:)\\b", "xxx", "some text >:) more text :) even more text")
  • 返回:some text >:) more text :) even more text

也就是说,我想替换:)而不是>:)。使用\\b可以解决文本问题,但这次不会构成笑脸的空间角色。

是的,我可以使用" :) ",但对我而言,这并不是最优雅的解决方案。我有什么选择来更好地控制更换过程?

1 个答案:

答案 0 :(得分:2)

尝试以下方法:

gsub("(^|(?<=\\s)):\\)", "xxx", ":) some text >:) more text :) even more text", perl=TRUE)
## [1] "xxx some text >:) more text xxx even more text"