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

138
Visualizações
Camel case to Title case no funciona para la primera letra

Necesito convertir la cadena dada en mayúsculas y minúsculas, sin importar si la entrada es minúscula o mayúscula

memberships 1 - contactGroupMembership - contactGroupId debe devolver Memberships 1 - Contact Group Membership - Contact Group Id

Memberships1 memberships1-contactGroupMembership-contactGroupId debe devolver Memberships 1 - Contact Group Membership - Contact Group Id

he probado con

 str.replace(/([AZ]+)/g, " $1").replace(/([AZ][az])/g, " $1");
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede usar esta solución de 2 pasos para su caso:

 input = ['memberships 1 - contactGroupMembership - contactGroupId', 'memberships1-contactGroupMembership-contactGroupId']; const re1 = /\B(?:[AZ]|\d)|\b-\b|(?<=-)[az]/g; const re2 = /\b[az]/g; var repl = []; input.forEach(str => { repl.push(str .replace(re1, ' $&') .replace(re2, m => m.toUpperCase()) ); }); console.log(repl);

Explicación:

  • En el primer .replace insertamos espacio en los lugares deseados usando la primera expresión regular:

     \B(?:[AZ]|\d)|\b-\b|(?<=-)[az]

Esto coincide con un límite que no es una palabra seguido de una letra mayúscula o un dígito o un - que está rodeado de límites de palabras en ambos lados o una letra minúscula que debe ir precedida de un - . Demostración RegEx 1

  • En el segundo paso, hacemos coincidir las letras minúsculas después de un límite de palabra y las convertimos en mayúsculas.
about 4 years ago · Juan Pablo Isaza Relatório

0

Muy específico para este caso de usuario, pero también puede usar una función de reemplazo para escribir en mayúsculas el primer carácter de una palabra o la primera letra mayúscula: str.replace(/(\b[az])|([AZ]+)/g, (m,p1,p2)=> (p1 ? '' : ' ') + (p1 || p2).toUpperCase());

trabajando: se encuentra el principio de la palabra (usado en p1 ) o la primera mayúscula ( p2 ). La función de reemplazo pone en mayúsculas las coincidencias y agrega el espacio adicional solo si no es una coincidencia p1

Manifestación:

 let str = 'memberships 1 - contactGroupMembership - contactGroupId'; str = str.replace(/(\b[az])|([AZ]+)/g, (m,p1,p2)=> (p1 ? '' : ' ') + (p1 || p2).toUpperCase()); console.log(str);

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