paste("plot", "var","m",".pdf", sep = "_")
#[1] "plot_var_m_.pdf"
但是,我希望输出plot_var_m.pdf
(不想要最后一个“_”)
我该如何更改我的代码?
答案 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 {
...
删除所有不需要的_.
图案):
.