如何在前两个地方的paste()中添加“_”符号

时间:2017-02-03 05:52:39

标签: r paste

paste("plot", "var","m",".pdf", sep = "_")
#[1] "plot_var_m_.pdf"

但是,我希望输出plot_var_m.pdf(不想要最后一个“_”) 我该如何更改我的代码?

5 个答案:

答案 0 :(得分:4)

paste(paste("plot", "var","m", sep = "_"),"pdf", sep = ".")

答案 1 :(得分:2)

我们可以使用sprintf

sprintf("%s.pdf", paste("plot", "var", "m", sep="_"))
#[1] "plot_var_m.pdf"

另一个选项是sub

sub("_([^_]+)$", ".\\1", "plot_var_m_pdf")
#[1] "plot_var_m.pdf"

答案 2 :(得分:1)

另一种方法是我们可以删除

所需的额外_
sub("(.*)\\_", "\\1", paste("plot", "var","m",".pdf", sep = "_"))
#[1] "plot_var_m.pdf"

答案 3 :(得分:1)

如果这些变量名称是常量,您也可以这样做:

paste("plot_", "var_","m",".pdf", sep = "")

或者,如果名称正在改变:

paste("plot","_","var","_","m",".pdf",sep="")

答案 4 :(得分:0)

另一种方式(在代码顶部添加另一个图层,以using namespace yyy::zzz; namespace xxx { ... 删除所有不需要的_.图案):

.