我已经看过现有的问题,但这并没有帮助。我试图从文本文件中读取一个SQL查询,它有引号和正则表达式。我找不到通过扫描字符串来获取\'
字符的方法。我试过了:
> scan(text=" 'H' ", what="character")
Read 1 item
[1] "H"
There were 50 or more warnings (use warnings() to see the first 50)
> scan(text=" \'H\' ", what="character")
Read 1 item
[1] "H"
> scan(text=" \\'H\\' ", what="character")
Read 1 item
[1] "\\'H\\'"
我希望scan()
的结果为\'H\'
,即当您在其上调用'H'
时打印出cat
的字符串。换句话说,字符串x
产生什么
> scan(text=x, what="character")
Read 1 item
[1] "\'H\'"
我认为第二个例子会这样做,但事实并非如此。或者是否有scan()
的替代方法,它不会对其读入的字符串进行静默更改?
(同样,对于正则表达式,我希望scan()
返回cat
ted生成'^\\d+'
时的字符串。)
答案 0 :(得分:2)
更改您的第一个电话,以包含对quote
参数的调整。
x <- scan(text = " 'H' ", what = "", quote = "")
x
# [1] "'H'"
cat(x)
# 'H'
设置quote = ""
表示没有引号字符,因此引号按原样读取。