我需要找到字符串中每20个字符之后的第一个空格,并插入新行而不是该空格。我正在使用R和纵梁包。到目前为止,我已使用此代码添加了新行,而不是每个空格:
gsub(" ", "\n", "My very long and very annoying string")
"My\nvery\nlong\nand\nvery\nannoying\nstring"
但是我只需要对第20、40、60等个字符之后的第一个空格执行此操作。结果应如下所示(因为非常包含第20个字符):
"My very long and very\nannoying string"
我该如何解决?
答案 0 :(得分:0)
让我们先取一个更长的字符串:
txt <- "My very long long long long and very annoying string"
然后我们可以执行以下操作
aux <- str_locate_all(txt, " ")[[1]]
pos <- aux[which(diff(aux[, 1] %/% 20) == 1) + 1, 1]
for(p in pos)
substr(txt, p, p) <- "\n"
cat(txt)
# My very long long long
# long and very annoying
# string