【问题标题】:How to code and print a character string formatted with line breaks?如何编码和打印用换行符格式化的字符串?
【发布时间】:2018-03-30 20:18:39
【问题描述】:

如果我有一个包含换行符的字符串,我如何在 R 中对其进行编码而不在行之间手动添加 \n 然后用换行符打印它?应该有多行输出;原始字符串的每一行都应打印为单独的行。

这是一个如何在 Python 中完成任务的示例:

string = """
  Because I could
  Not stop for Death
  He gladly stopped for me
  """

示例用例:我有一段很长的 SQL 代码,其中包含一堆换行符和子命令。我想将代码作为单个字符串输入以供稍后评估,但手动清理会很困难。

【问题讨论】:

  • 是的,我知道使用\n,但我不想为这个非常长的 SQL 脚本的每一行添加它。没有其他选择?
  • 您可以将该 SQL 写入文件并从 R 读取它
  • 您要添加换行符还是删除它们?单引号是你想要的吗,即' indtead of "
  • 我提交了一个编辑以澄清问题不在于如何在不引入换行符的情况下在多行代码中打破字符串。但是,我不确定该问题是否打算包括如何打印包含换行符(已接受的答案涵盖)的字符串,或者仅包括如何在不手动在行之间添加“\n”的情况下对字符串进行编码。 Python示例似乎只做第二个。我也不确定“稍后评估”是否施加了一些打印没有的额外限制。

标签: r string newline line-breaks formatted-text


【解决方案1】:

不需要什么特别的。只是开头和结尾的引号。

在 R 中:

x = "Because I could
Not stop for Death
He gladly stopped for me"
x
# [1] "Because I could\nNot stop for Death\nHe gladly stopped for me"

cat(x)
# Because I could
# Not stop for Death
# He gladly stopped for me

在 Python 中:

>>> string = """
...     Because I could
...     Not stop for Death
...     He gladly stopped for me
... """
>>> string
'\n\tBecause I could\n\tNot stop for Death\n\tHe gladly stopped for me\n'

【讨论】:

  • 在此与上述 Michal Stolarczyk 的评论之间,请考虑回答此问题。谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-06-21
  • 1970-01-01
  • 2019-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-29
相关资源
最近更新 更多