Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

413
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!