Entonces tengo una cadena como esta:

var response = "Conectando al servidor La conexión ha sido exitosa Hemos encontrado el resultado";

Quería insertar un ',' antes de cada palabra en mayúscula después de encontrar la segunda palabra en mayúscula.

Yo estoy haciendo esto:

var response = "Conectando al servidor La conexión ha sido exitosa Hemos encontrado el resultado";
patrón var = / [A-Z] / g;
document.write (response.replace (patrón, ','));

Resultado:

, conectando al servidor, la conexión ha sido exitosa, e encontró el resultado

Lo que quiero:

Conectando al servidor, la conexión ha sido exitosa, encontramos resultado

0
Rthp 13 may. 2016 a las 21:35

3 respuestas

La mejor respuesta

replace un espacio seguido de una letra mayúscula con una coma más esa agrupación ($1).

var res2 = response.replace(/( [A-Z])/g, ',$1');

Demo

0
Andy 13 may. 2016 a las 18:42

Podrías usar una expresión regular y una mirada anticipada positiva.

String#replace(/ (?=[A-Z])/g, ', ')
document.write('Connecting to server Connection has been successful We found result'.replace(/ (?=[A-Z])/g, ', '));
1
Nina Scholz 13 may. 2016 a las 18:46

Prueba esto:

var str = "Connecting to server Connection has been successful We found result";

str.replace(/.[A-Z]/g, ',$&'); 

Resultado: Conectando al servidor, La conexión ha sido exitosa, Encontramos el resultado

Cuando se encuentra una coincidencia, si desea incluir el texto coincidente en la cadena de reemplazo, puede acceder usando $ &.

0
Ali Mamedov 13 may. 2016 a las 18:39