我在sprintf()中有一个很长的字符串。太长了,以至于打破它很有用(可读性)(但只能在源代码中,而不能在输出中)。但是,每当我中断长字符串时,它都会引入\n,因此输出也具有换行符。我该如何在源代码中断开字符串,以使它不会在输出中断开?

最佳答案

也许类似下面的内容可能会有用(尽管很难在不知道您的输入字符串实际上是什么样子或打算如何使用它们的情况下分辨出来)。

Fmt <- c(" %s is %d feet tall.\n",
         "%s likes chocolate.\n",
         "%s eats %d bars of chocolate",
         "every night after dinner.")

sprintf(paste(Fmt, collapse = " "), "Sven", 7, "Sven", "He", 3)
# [1] " Sven is 7 feet tall.\n Sven likes chocolate.\n He eats 3 bars of chocolate every night after dinner."
cat(.Last.value)
#  Sven is 7 feet tall.
#  Sven likes chocolate.
#  He eats 3 bars of chocolate every night after dinner.

关于r - 如何避免R sprintf换行((“very very long string with line break”)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28018473/

10-12 17:23