spl <- strsplit(ex_str, " ")[[1]]
out <- c()
while (length(spl) > 0) {
ind <- which((cumsum(nchar(spl)) + seq_along(spl)) > 260)[1]
if (is.na(ind)) ind <- length(spl) + 1L
if (ind == 1L) {
warning("first word is too long, adding anyway", call. = FALSE)
out <- c(out, spl[1])
spl <- spl[-1]
} else {
out <- c(out, paste(spl[seq_len(ind-1)], collapse = " "))
spl <- spl[-seq_len(ind-1)]
}
}
nchar(out)
# [1] 253 156
out
# [1] "This has an advantage of avoiding name conflicts i.e. what if you have a function named `DataFrame()` in your global environment. Using `pandas.DataFrame()` ensures that right function is called. To build on it further, python also provides an option of"
# [2] "importing a function with your name of choice i.e. `import pandas as pd`. Now to call out `pandas` internal functions you can use `pd` like `pd.DataFrame()`"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…