R:换行文本功能:每16个字符后自动插入\ n

时间:2017-01-13 19:31:55

标签: r word-wrap

我有一个字符串:

select

我想在每16个字符(包括空格)后自动插入\ n,以便创建一个包装文本函数,用于基本图形绘图。

我试过了:

str1 <- "aaaaaaaaaa aaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaa aaaaaaa aaa aaa"
str1
nchar(str1)

但这不起作用

 str2 <- strwrap(str1, width = 16)
 str2

还有一种方法可以正确地分割单词并在必要时添加额外的空格,就像在正确的自动换行功能中一样。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

我们也可以试试这个:

str2 <- paste(sapply(seq(1, nchar(str1), 16), function(i) paste0(substring(str1, i, min(i + 15, nchar(str1))), '\n')), collapse='')
str2
#[1] "aaaaaaaaaa aaaaa\naaaaaaaaa aaaaaa\naaaaaaaaaa aaaaa\naaaaaaaaaaaa aaa\naaaa aaa aaa\n"

gregexpr('\n', str2) # position of inserted newlines
#[[1]]
#[1] 17 34 51 68 81