我正在尝试创建一个数据文件(data.file
)。
我有一个字符串:string=c("test1","test2","test3")
我需要与其他一些命令结合并写入文本文件。 string
可以是任意长度。
在这种特定情况下,我在数据文件中想要的输出是:
: "test1" "test2" "test3" :=
我尝试了cat(':',string,':=\n',file=data.file,append=TRUE)
,但这并没有返回我需要的引号。
(它返回缺少引号的: test1 test2 test3 :=
。
我怎么能这样做?而且,是否也可以使用writeLines
?
答案 0 :(得分:1)
writeLines
字面上只是写行分隔符分隔的行,仅此而已。格式化必须在此之前完成。
要按引号括起文字,您只需执行以下操作:
sprintf('"%s"', string)
sprintf
是一种多功能的文本格式化功能(虽然它的使用非常晦涩)。
但是,如果您的字符串可以包含引号,则会出现问题。在这种情况下会发生什么?通常,在格式化字符串内容之前,必须密切关注字符串内容允许的值,以及如何处理意外输入。