在格式化文本中粘贴带有换行符/返回的文本
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
【讨论】:
以上是关于在格式化文本中粘贴带有换行符/返回的文本的主要内容,如果未能解决你的问题,请参考以下文章