R语言写长文本?

  • 本文关键字:文本 语言 r email text
  • 更新时间 :
  • 英文 :


我在谷歌搜索了一段时间没有成功之后,又用一个愚蠢的问题来打扰你了。我需要发送大量(数百)的个性化电子邮件。我知道可以使用R发送电子邮件,但是到目前为止我检查的所有软件包都需要类似body = "Body of the email"的东西,也就是说,它们使用固定的预先建立的文本作为电子邮件的正文文本。但是,我需要把它们个性化。例如,让我们有下面的文本:

当袋底洞的比尔博·巴金斯先生宣布他不久将举办一场盛大的晚会来庆祝自己的十一岁生日时,霍比屯的人们议论纷纷,兴奋不已。

比尔博非常富有,非常奇特,自从他引人注目的失踪和意外的归来以来,他一直是夏尔六十年来的奇迹。他从旅行中带回来的财富现在已经成为当地的一个传说,不管老人们怎么说,大家都相信袋底洞的小山上到处都是装满宝藏的隧道。如果这还不足以让他名声大噪,还有他那令人惊叹的持久活力。时间在流逝,但这对巴金斯先生似乎没有什么影响。他九十岁的时候和五十岁的时候没什么两样。九十九岁的时候,他们开始说他保存完好,但说他没有变化更贴切。有些人摇摇头,认为这太过分了;

一个人既拥有(据说)无穷无尽的财富,又拥有(表面上)永葆青春,这似乎是不公平的。

即包含几个段落的文本。让我们有以下接收器c("Gandalf", "Saruman", "Sauron"),我想要的是为我的电子邮件创建个性化文本,结合两者,标题:

"亲爱的甘道夫,

当袋底洞的比尔博·巴金斯先生…[所有上述文字]">

我试过这样的东西:

txt <- "When  Mr.  Bilbo  Baggins  of  Bag  End... [all the aforementioned text]" 
for(i in 1:length(rs)){
temp <- paste("Dear", rs[i], txt) 
}

我也试过从一个。txt文件调用这个文本,这个想法是使用它然后作为body = temp。但我得到的却是"不自然"。文字,有连续的线条、符号等。你知道如何解决这种情况吗?谢谢!

使用sprintf,它允许您使用占位符,然后将其替换:

lapply(c("Gandalf", "Saruman", "Sauron"), 
sprintf, 
fmt = "Dear %s,
When Mr. Bilbo Baggins of Bag End... [all the aforementioned text]")
#[[1]]
#[1] "Dear Gandalf,nnWhen Mr. Bilbo Baggins of Bag End... [all the aforementioned #text]"
#
#[[2]]
#[1] "Dear Saruman,nnWhen Mr. Bilbo Baggins of Bag End... [all the aforementioned #text]"
#
#[[3]]
#[1] "Dear Sauron,nnWhen Mr. Bilbo Baggins of Bag End... [all the aforementioned #text]"

如果需要替换多个字符串,请使用mapply而不是lapply。如果你愿意,也可以使用for循环。

相关内容

  • 没有找到相关文章

最新更新