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

229
Visualizações
Reemplazar parte de una cadena y mayúsculas el resultado

¿todo bien? Me gustaría que me ayudaran, tengo el siguiente escenario:

 STRING_ONE: string_two STRING_three : string_four: stringfive:

Necesito identificar palabras desde el principio de la línea que terminan con:

después de identificar las palabras, necesito borrar los espacios y convertirlos a mayúsculas, intenté hacer algunas expresiones regulares, pero a medida que cambian las palabras, no puedo establecer el valor predeterminado para el reemplazo porque necesito mantener la misma palabra, solo eliminando los espacios y convertir a mayúsculas

El resultado que estoy tratando de obtener es este:

 STRING_ONE: string_two STRING_three : STRING_FOUR: STRINGFIVE:

Puedo capturar las palabras que coinciden con este patrón, con la siguiente expresión regular, pero no sé cómo reemplazarla simplemente borrando los espacios, manteniendo el resto de la cadena igual y usando mayúsculas.

 ^.*\b:

Traté de reemplazar así pero no funcionó

 "$1".toUpperCase()

¿Alguien puede ayudar por favor? ¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Como en realidad no está reemplazando nada, sino que está buscando un patrón, utilicé el patrón en String.prototype.match() para identificar las líneas en las que .trim() y .toLowerCase() . El .split("\n") convierte la cadena inicial en una matriz sobre la cual puedo .map() las líneas individuales. Al final, .join() todo junto de nuevo.

 const str=`STRING_ONE: string_two STRING_three : string_four: stringfive:`; console.log(str .split("\n") .map(s=>s.match(/^\s*\w+:\s*$/) && s.trim().toUpperCase() || s ) .join("\n") );

Nuestros patrones de expresiones regulares difieren ligeramente:

  • mientras que el tuyo ( /^.*\b:/ ) coincidirá con cualquier línea que tenga al menos un final de palabra seguido de dos puntos.
  • el mío ( /^\s*\w+:\s*$/ ) es más estricto y exige que haya exactamente una palabra seguida de dos puntos en una línea que, opcionalmente, se puede rellenar con cualquier número de caracteres de espacio en blanco a cada lado.
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