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

146
Visualizações
Primera letra de cada palabra en una cadena y puntuación

Entrada: Aliquam ipsum ex, tempus ornare semper ac, varius vitae nibh.

Salida: A ie, tosa, vv n.

Necesito una función javascript para resolver esto.

Estoy intentando algo como esto:

 function short_verse(verse) { let result = []; verse.split(' ').map(word => word.charAt(0) != '' ? result.push(word.charAt(0)) : ''); return result.join(" "); } let input = "Aliquam ipsum ex, tempus ornare semper ac, varius vitae nibh.", output = short_verse(input); console.log(output);

La historia: Dicen que puedes memorizar textos de esta manera. :) Entonces, creo una aplicación que también incluirá esta función.

También debería funcionar para caracteres que no sean ascii. Ejemplo:

Entrada: Aliqușam țipsum ex, tempăs ornâre semper ac, varius vitae îbh.

Salida: A ț e, tosa, vv î

Nota: En mi caso, los diacríticos rumanos serían suficientes: ăâîșțĂÂÎȘȚ.

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

0

Podemos usar un enfoque de reemplazo de expresiones regulares aquí:

 var input = "Aliquam ipsum ex, tempus ornare semper ac, varius vitae nibh."; var output = input.replace(/(\w)\w*/g, "$1"); console.log(output);

about 4 years ago · Juan Pablo Isaza Relatório

0

Si está utilizando solo caracteres de palabras, puede mantener el primer carácter y eliminar el resto de los caracteres de palabras.

\B coincide con un límite que no es de palabra y \w+ coincide con 1 o más caracteres de palabra:

 const s = "Aliquam ipsum ex, tempus ornare semper ac, varius vitae nibh."; console.log(s.replace(/\B\w+/g, ""));

Para la pregunta actualizada, puede capturar caracteres iniciales distintos de cualquier letra o carácter de espacio en blanco, seguidos de una sola letra. Siga las letras opcionales que deben eliminarse y use el grupo de captura 1 en el reemplazo.

 ([^\p{L}\s]*\p{L})\p{L}*

Vea la coincidencia de expresiones regulares en esta demostración de expresiones regulares .

 [ "Dumnezeu a zis: „Să fie o întindere între ape, și ea să despartă apele de ape.”", "Aliqușam țipsum ex, tempăs ornâre semper ac, varius vitae îbh.", "Aliquam ipsum ex, tempus ornare semper ac, varius vitae nibh." ].forEach(s => console.log(s.replace(/([^\p{L}\s]*\p{L})\p{L}*/gu, "$1")) )

about 4 years ago · Juan Pablo Isaza Relatório

0

La siguiente función debería funcionar para caracteres, números y símbolos. La magia está en la expresión regular; [a-zA-ZÀ-ÿăâîșțĂÂÎȘȚ]+ extrae todas las palabras únicas que contienen caracteres alfanuméricos y del alfabeto rumano (según la solicitud de la pregunta), \s extrae todos los caracteres de espacio porque queremos conservar el espacio y finalmente ^\w\s extrae todos Caracteres no alfanuméricos y sin espacios, también conocidos como símbolos:

 function short_verse(verse) { let result = []; const tokens = verse.match(/([a-zA-ZÀ-ÿăâîșțĂÂÎȘȚ]+)|(\s)|[^\w\s]/g); const firstChars = tokens.map((token) => token.charAt(0)); return firstChars.join(''); } let input1 = "Aliquam ipsum ex, tempus ornare semper ac, varius vitae nibh."; console.log(short_verse(input1)); let input2 = "Să fie o întindere între ape, și ea să despartă apele de ape." console.log(short_verse(input2));

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