ultimos - Dividir una cadena cada 5 caracteres
separar cadena jquery (5)
Puede intentar algo como lo siguiente:
s <- "XOVEWVJIEWNIGOIWENVOIWEWVWEW" # Original string
l <- seq(from=5, to=nchar(s), by=5) # Calculate the location where to chop
# Add sentinels 0 (beginning of string) and nchar(s) (end of string)
# and take substrings. (Thanks to @flodel for the condense expression)
mapply(substr, list(s), c(0, l) + 1, c(l, nchar(s)))
Salida:
[1] "XOVEW" "VJIEW" "NIGOI" "WENVO" "IWEWV" "WEW"
Ahora puede paste
el vector resultante (con collapse='' ''
) para obtener una sola cadena con espacios.
Supongamos que tengo una cadena larga:
"XOVEWVJIEWNIGOIWENVOIWEWVWEW"
¿Cómo divido esto para obtener cada 5 caracteres seguidos de un espacio?
"XOVEW VJIEW NIGOI WENVO IWEWV WEW"
Tenga en cuenta que el último es más corto.
Puedo hacer un bucle en el que constantemente cuente y construya un nuevo personaje de cuerda por personaje, pero seguramente debe haber algo mejor, ¿no?
También puede usar una subcadena sin un bucle. substring
es el substr
vectorizado
x <- "XOVEWVJIEWNIGOIWENVOIWEWVWEW"
n <- seq(1, nc <- nchar(x), by = 5)
paste(substring(x, n, c(n[-1]-1, nc)), collapse = " ")
# [1] "XOVEW VJIEW NIGOI WENVO IWEWV WEW"
Usando sapply
> string <- "XOVEWVJIEWNIGOIWENVOIWEWVWEW"
> sapply(seq(from=1, to=nchar(string), by=5), function(i) substr(string, i, i+4))
[1] "XOVEW" "VJIEW" "NIGOI" "WENVO" "IWEWV" "WEW"
Usando expresiones regulares:
gsub("(.{5})", "//1 ", "XOVEWVJIEWNIGOIWENVOIWEWVWEW")
# [1] "XOVEW VJIEW NIGOI WENVO IWEWV WEW"
No * aplique la solución de stringi
:
x <- "XOVEWVJIEWNIGOIWENVOIWEWVWEW"
stri_sub(x, seq(1, stri_length(x),by=5), length=5)
[1] "XOVEW" "VJIEW" "NIGOI" "WENVO" "IWEWV" "WEW"
Esto extrae las subcadenas como en la respuesta de @Jilber, pero la función stri_sub
está vectorizada, no es necesario usar * aplicar aquí.