usa tipos resueltos para funciones ejemplos ejemplo cortar concatenar codigo caracteres caracter cadenas cadena javascript string

tipos - ¿Cómo puedo insertar un carácter después de cada n caracteres en javascript?



split javascript (6)

Tengo una cuerda: "El zorro marrón rápido salta sobre los perros perezosos".

Quiero usar javascript (posiblemente con jQuery) para insertar un caracter cada n caracteres. Por ejemplo, quiero llamar:

var s = "The quick brown fox jumps over the lazy dogs."; var new_s = UpdateString("$",5); // new_s should equal "The q$uick $brown$ fox $jumps$ over$ the $lazy $dogs.$"

El objetivo es usar esta función para insertar &shy en cadenas largas para permitir que se envuelvan. Tal vez alguien sabe de una mejor manera?


Con expresiones regulares

"The quick brown fox jumps over the lazy dogs.".replace(/(.{5})/g,"$1$") The q$uick $brown$ fox $jumps$ over$ the $lazy $dogs.$

aclamaciones,


En algún momento también desea comenzar a insertar caracteres desde el final de la cadena hasta el comienzo. En ese caso, esto puede hacer:

function insert_spaces(string, space_every_nr, reverse, character) { var insert_string = string.toString(); if (reverse == true) { var insert_string = string.toString(); var length_of_string=string.length; var count=0; for (var i = 0; i < string.length+count; i+=space_every_nr) { insert_string=insert_string.substring(0,i)+character+insert_string.substring(i ,(string.length+count)); count++; } return insert_string } else if(reverse ==false) { var count=0; var j=0; for (var i = string.length; i > 0; i -= space_every_nr) { insert_string=insert_string.substring(0,i)+character+insert_string.substring(i ,(string.length+count)); count++; } return insert_string; } }


function addItemEvery (str, item, every){ for(let i = 0; i < str.length; i++){ if(!(i % (every + 1))){ str = str.substring(0, i) + item + str.substring(i); } } return str.substring(1); }

Resultado:

> addItemEvery("The quick brown fox jumps over the lazy dogs.", ''$'', 5) > "The q$uick $brown$ fox $jumps$ over$ the $lazy $dogs."


function chunk(str, n) { var ret = []; var i; var len; for(i = 0, len = str.length; i < len; i += n) { ret.push(str.substr(i, n)) } return ret }; chunk("The quick brown fox jumps over the lazy dogs.", 5).join(''$''); // "The q$uick $brown$ fox $jumps$ over$ the $lazy $dogs."


let s = ''The quick brown fox jumps over the lazy dogs.''; s.split('''').reduce((a, e, i)=> a + e + (i % 5 === 4 ? ''$'' : ''''), '''');

Explique: split ('''') convierte una cadena en una matriz. Ahora queremos volver la matriz a una sola cadena. Reducir es perfecto en este escenario. La función de reducción de matriz toma 3 parámetros, primero es el acumulador, el segundo es el elemento iterado y el tercero es el índice. Dado que el índice de matriz está basado en 0, para insertar después del 5, estamos viendo el índice i% 5 === 4.


var str="ABCDEFGHIJKLMNOPQR"; function formatStr(str, n) { var a = [], start=0; while(start<str.length) { a.push(str.slice(start, start+n)); start+=n; } console.log(a.join(" ")); } formatStr(str,3);