4

是否可以在像这样自动调整的字符串中插入换行符,以免拆分单词?

 nif <- as.character(c("I am a string", "So am I", 
     "I am also a string but way to long"))

我在帖子中找到了这段代码,但它拆分了单词,并在我想避免的每个字符串后添加了一个换行符

  gsub('(.{1,20})', '\\1\n',nif)

我要的输出是这样的:

 "I am a string"    "So am I"     "I am also a string but \n way to long" 
4

2 回答 2

18

您也可以使用strwrap.

strwrap(nif, 20)
# [1] "I am a string"      "So am I"            "I am also a string"
# [4] "but way to long"   
sapply( strwrap(nif, 20, simplify=FALSE), paste, collapse="\n" )
# [1] "I am a string"                       "So am I"                            
# [3] "I am also a string\nbut way to long"
于 2013-05-19T11:59:35.700 回答
6

您可以在一些字母后找到第一个空格并将其替换为\n

例如像这样

 gsub('(.{18})\\s(.*)', '\\1\n\\2',nif)

[1] "I am a string"                       "So am I"                            
    "I am also a string\nbut way to long"
于 2013-05-19T11:48:20.270 回答