将R中的`&`替换为`\&`

rn0zuynd  于 2023-07-31  发布在  其他
关注(0)|答案(2)|浏览(119)

我想在R&D中用\&替换&
我该怎么做?
stringr::str_replace("R&D","&","\\&")仍然给出R&D而不是R\&D,我不知道为什么。

zaq34kh6

zaq34kh61#

\&str_replace的替换值中有特殊的含义(它指匹配的文本)。为了避免这种特殊的含义,将反斜杠也加倍以避免它们。
因此,以下工作:

stringr::str_replace("R&D", "&", "\\\\&")

字符串

monwx1rj

monwx1rj2#

@康拉德·鲁道夫已经给出了完美的解释。如果你想打印一个反斜杠,你可以使用cat。以下是使用gsub的替代方案:

cat(gsub("&", r"(\\&)", "R&D"))
#> R\&D

字符串
创建于2023-07-20使用reprex v2.0.2

相关问题