Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

414
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda