在Python中,您可以使用原始字符串:
import re
re.sub(r"\\", ":", "back\\slash") # r"\\" instead of "\\\\"
Run Code Online (Sandbox Code Playgroud)
R中也存在吗?例如,这是一个等效的代码片段,其中R中没有原始字符串:
library(stringr)
str_replace("back\\slash", "\\\\", ":")
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这一点:
str_replace("back\\slash", raw("\\"), ":")
Run Code Online (Sandbox Code Playgroud)
此功能是否已经存在,还是应该只实现自己的功能raw()
?
Ben*_*ker 27
从 R 4.0.0 开始,这是可用的。
原始字符常量也可以使用类似于 C++ 中使用的语法:
r"(...)"
使用...
任何字符序列,但它不能包含结束序列)"
。分隔符对[]
和{}
[c]an 也可以使用。为了增加灵活性,可以在开始引号和开始分隔符之间放置多个破折号,只要在结束分隔符和结束引号之间出现相同数量的破折号即可。
从示例中?Quotes
:
r"{(\1\2)}"
## [1] "(\\1\\2)"
Run Code Online (Sandbox Code Playgroud)
(注意,双反斜杠是 R 的反斜杠的打印表示:cat()
在这个对象上将打印(\1\2)
)