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

156
Visualizações
Javascript convierte PascalCase a underscore_case/snake_case

¿Cómo puedo convertir la cadena PascalCase en una cadena underscore_case/snake_case ? También necesito convertir puntos en guiones bajos.

p.ej. convertir

 TypeOfData.AlphaBeta

en

 type_of_data_alpha_beta
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Podrías intentar los siguientes pasos.

  • Capture todas las letras mayúsculas y también haga coincidir el carácter de punto opcional anterior.

  • Luego, convierta las letras mayúsculas capturadas a minúsculas y luego regrese para reemplazar la función con un _ como carácter anterior. Esto se logrará mediante el uso de la función anónima en la pieza de repuesto.

  • Esto reemplazaría la letra mayúscula inicial por _ + minúscula_letra.

  • Finalmente, eliminar el guión bajo inicial le dará el resultado deseado.

     var s = 'TypeOfData.AlphaBeta'; console.log(s.replace(/(?:^|\.?)([AZ])/g, function (x,y){return "_" + y.toLowerCase()}).replace(/^_/, ""));

O

 var s = 'TypeOfData.AlphaBeta'; alert(s.replace(/\.?([AZ])/g, function (x,y){return "_" + y.toLowerCase()}).replace(/^_/, ""));

cualquier forma de detenerlo cuando una palabra completa está en mayúsculas. p.ej. MotorRPM en motor_rpm en lugar de motor_r_p_m ? o BatteryAAA en battery_aaa en lugar de battery_a_a_a ?

 var s = 'MotorRMP'; alert(s.replace(/\.?([AZ]+)/g, function (x,y){return "_" + y.toLowerCase()}).replace(/^_/, ""));

over 4 years ago · Santiago Trujillo Relatório

0

str.split(/(?=[AZ])/).join('_').toLowerCase();

de nada

 var s1 = 'someTextHere'; var s2 = 'SomeTextHere'; var o1 = s1.split(/(?=[AZ])/).join('_').toLowerCase(); var o2 = s2.split(/(?=[AZ])/).join('_').toLowerCase(); console.log(o1); console.log(o2);

over 4 years ago · Santiago Trujillo Relatório

0

Alternativamente usando lodash :

 lodash.snakeCase(str);

Ejemplo:

 _.snakeCase('TypeOfData.AlphaBeta'); // ➜ 'type_of_data_alpha_beta'

Lodash es una excelente biblioteca para brindar acceso directo a muchas tareas js cotidianas. Hay muchas otras funciones de manipulación de cadenas similares, como camelCase , kebabCase , etc.

over 4 years ago · Santiago Trujillo 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