Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

147
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda