R : wrap text function: 每16个字符后自动插入\n
R : wrap text function: inserting \n automatically after every 16 characters
我有一个字符串:
str1 <- "aaaaaaaaaa aaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaa aaaaaaa aaa aaa"
str1
nchar(str1)
我想在每 16 个字符(包括空格)之后自动插入 \n,以便创建用于基本图形绘图的换行文本功能。
我试过了:
str2 <- strwrap(str1, width = 16)
str2
但这没有用
plot(1:10,main=str2)
mtext(str2, side=1, line=0, outer=F,cex=1,col="blue")
还有一种方法可以正确拆分单词并在必要时添加额外的空格,如正确的自动换行功能。
谢谢你的帮助。
我们也可以试试这个:
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
我有一个字符串:
str1 <- "aaaaaaaaaa aaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaa aaaaaaa aaa aaa"
str1
nchar(str1)
我想在每 16 个字符(包括空格)之后自动插入 \n,以便创建用于基本图形绘图的换行文本功能。
我试过了:
str2 <- strwrap(str1, width = 16)
str2
但这没有用
plot(1:10,main=str2)
mtext(str2, side=1, line=0, outer=F,cex=1,col="blue")
还有一种方法可以正确拆分单词并在必要时添加额外的空格,如正确的自动换行功能。 谢谢你的帮助。
我们也可以试试这个:
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