我想在R&D中用\&替换&。我该怎么做?stringr::str_replace("R&D","&","\\&")仍然给出R&D而不是R\&D,我不知道为什么。
R&D
\&
&
stringr::str_replace("R&D","&","\\&")
R\&D
zaq34kh61#
\&在str_replace的替换值中有特殊的含义(它指匹配的文本)。为了避免这种特殊的含义,将反斜杠也加倍以避免它们。因此,以下工作:
str_replace
stringr::str_replace("R&D", "&", "\\\\&")
字符串
monwx1rj2#
@康拉德·鲁道夫已经给出了完美的解释。如果你想打印一个反斜杠,你可以使用cat。以下是使用gsub的替代方案:
cat
gsub
cat(gsub("&", r"(\\&)", "R&D")) #> R\&D
字符串创建于2023-07-20使用reprex v2.0.2
2条答案
按热度按时间zaq34kh61#
\&
在str_replace
的替换值中有特殊的含义(它指匹配的文本)。为了避免这种特殊的含义,将反斜杠也加倍以避免它们。因此,以下工作:
字符串
monwx1rj2#
@康拉德·鲁道夫已经给出了完美的解释。如果你想打印一个反斜杠,你可以使用
cat
。以下是使用gsub
的替代方案:字符串
创建于2023-07-20使用reprex v2.0.2