Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

425
Vistas
¿Cómo unir la cadena con un punto, un signo de exclamación o un signo de interrogación?

Quiero convertir una cadena al caso de la oración. Es decir, en mayúscula el primer carácter de cada oración y en minúscula los siguientes caracteres. Me las arreglé para hacer esto. Sin embargo, después de dividir la cadena y convertirla en un caso de oración, necesito unirla nuevamente con el carácter correspondiente.

Aquí está mi código que divide la cadena en oraciones:

 const string = "my seNTencE . My sentence! my another sentence. yEt another senTence? Again my sentence ."; function splitString(str) { str = str.split(/[.!?]/); for(let i = 0; i < str.length; i++) { str[i] = str[i].trim(); } for(let i = 0; i < str.length; i++) { str[i] = str[i].charAt(0).toUpperCase() + str[i].slice(1).toLowerCase(); } return str; } console.log(splitString(string));

En la declaración de devolución , quiero devolver cadenas unidas. Por ejemplo, la primera oración debe terminar con un punto y la segunda debe terminar con un signo de exclamación, etc. ¿Cómo implementar esto?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

str.split elimina el resultado de la coincidencia de expresiones regulares de la cadena. Si desea mantenerlo, puede colocar el separador en un lookbehind como este:

 str.split(/(?<=[.!?])/);

La sintaxis (?<= ) significa que la expresión regular encontrará posiciones precedidas por puntuación, pero no incluirá dicha puntuación en la coincidencia, por lo que el método de split la dejará.

Como nota al margen, tenga en cuenta que esta función arruinará las siglas, los nombres propios y la palabra I Obligar a que la primera letra después de un punto sea una letra mayúscula probablemente esté bien, pero encontrará que esta función hace más daño que bien.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Utilice una expresión regular con grupos de captura. Esta expresión regular usa el lazy ? modificador para que la coincidencia termine en el primer [!.?], y la bandera global g para captar todas las coincidencias.

 const string = "my seNTencE . My sentence! my another sentence. yEt another senTence? Again my sentence ." const rx = /(.*?)([.!?])/g const found = [] while (m = rx.exec(string)) { let str = m[1].trim() str = str.charAt(0).toUpperCase() + str.slice(1).toLowerCase() found.push(str + m[2]) } console.log(found)

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda