在格式化文本中粘贴带有换行符/返回的文本

Posted

技术标签:

【中文标题】在格式化文本中粘贴带有换行符/返回的文本【英文标题】:paste text with a newline/return in formatted text 【发布时间】:2017-02-14 09:49:20 【问题描述】:

我想做一个格式化为用于邮寄地址的列,但在创建新列时我无法使用换行符/回车符或<br/>

name = c("John Smith", "Patty Smith", "Sam Smith")
address = c("111 Main St.", "222 Main St.", "555 C Street")
cityState = c("Portland, OR 97212", "Portland, OR 95212", "Portland, OR 99212")
df <- data.frame(name, address, cityState)

我想创建一个列来格式化地址标签中的数据: 约翰·史密斯 主街 111 号 波特兰,俄勒冈州 97212

每个新列:在每一行之后都会有一个返回:所以它总是 3 行。其他 3 列各占一行。

# example of what I am trying to do... 
paste0(name, "return", address, "return", cityState).  Everything I have tried does not work for making a newline.

【问题讨论】:

使用'\n' 作为分隔符,然后使用cat 看看你实际得到了什么。 【参考方案1】:

要换行(或返回),我们使用\n。所以

addr = paste(name,  address, cityState, sep="\n")

要查看结果,只需使用cat

> cat(addr[1])
#John Smith
#111 Main St.
#Portland, OR 97212

函数cat 只是打印到屏幕上。


另一个标准字符是\t 用于制表符。

【讨论】:

它适用于 cat() 但它可能不适用于其他一些功能。如果是这种情况,应该使用: as.character(paste(name, address, cityState, sep="\n"))【参考方案2】:

您需要将其与换行符 (\n) 分隔符一起粘贴。从df组装它,

addresses <- apply(df, 1, paste, collapse = '\n')

如果你正常打印,它会显示\n字符:

addresses
## [1] "John Smith\n111 Main St.\nPortland, OR 97212" 
## [2] "Patty Smith\n222 Main St.\nPortland, OR 95212"
## [3] "Sam Smith\n555 C Street\nPortland, OR 99212"  

要使用评估的换行符打印,请使用cat,也可以使用sep = '\n' 在项目之间插入换行符:

cat(addresses, sep = '\n')
## John Smith
## 111 Main St.
## Portland, OR 97212
## Patty Smith
## 222 Main St.
## Portland, OR 95212
## Sam Smith
## 555 C Street
## Portland, OR 99212

【讨论】:

以上是关于在格式化文本中粘贴带有换行符/返回的文本的主要内容,如果未能解决你的问题,请参考以下文章

复制粘贴后格式变了怎么办?

怎样在word2007中默认设置粘贴无格式文本

如何保存带有换行符或行间空格的文本?

怎样在excel页码中加入小翅膀

带有折线的文本在 Rails 中不起作用

WPS表格怎么设置成默认粘贴无格式文本