是否可以在这样的字符串中插入换行符,这些字符串会自动调整以便不分割单词?
nif <- as.character(c("I am a string", "So am I",
"I am also a string but way to long"))
我在帖子中找到了这个code,但它会分割单词并在每个字符串后添加一个换行符,我想避免使用
gsub('(.{1,20})', '\\1\n',nif)
我想要的输出是:
"I am a string" "So am I" "I am also a string but \n way to long"
答案 0 :(得分:14)
您也可以使用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"
答案 1 :(得分:4)
您可以在一些字母后找到第一个空格,并将其替换为\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"