Comment procéder pour rassembler la première lettre de chaque mot d'une chaîne, comme pour obtenir une abréviation ?
Entrée : "Java Script Object Notation"
Sortie : "JSON"
Comment procéder pour rassembler la première lettre de chaque mot d'une chaîne, comme pour obtenir une abréviation ?
Entrée : "Java Script Object Notation"
Sortie : "JSON"
Je pense que ce que vous cherchez est l'acronyme d'une chaîne fournie.
var str = "Java Script Object Notation";
var matches = str.match(/\b(\w)/g); // ['J','S','O','N']
var acronym = matches.join(''); // JSON
console.log(acronym)
Note : cela échouera pour les mots avec trait d'union/apostrophe Help-me I'm Dieing
sera HmImD
. Si ce n'est pas ce que vous voulez, l' diviser sur l'espace, saisir la première lettre pourrait être ce que vous voulez.
Voici un exemple rapide de cela :
let str = "Java Script Object Notation";
let acronym = str.split(/\s/).reduce((response,word)=> response+=word.slice(0,1),'')
console.log(acronym);
Je pense que vous pouvez le faire avec
'Aa Bb'.match(/\b\w/g).join('')
Explication : Obtenir tous les /g
les caractères alphanumériques \w
qui apparaissent après un caractère non alphanumérique (c'est-à-dire après une limite de mot). \b
), les mettre dans un tableau avec .match()
et de joindre le tout en une seule chaîne .join('')
Selon ce que vous voulez faire, vous pouvez aussi envisager de sélectionner simplement tous les caractères majuscules :
'JavaScript Object Notation'.match(/[A-Z]/g).join('')
Cela est rendu très simple avec ES6
string.split(' ').map(i => i.charAt(0)) //Inherit case of each letter
string.split(' ').map(i => i.charAt(0)).toUpperCase() //Uppercase each letter
string.split(' ').map(i => i.charAt(0)).toLowerCase() //lowercase each letter
Cela fonctionne UNIQUEMENT avec les espaces ou tout ce qui est défini dans le champ .split(' ')
método
ie, .split(', ')
.split('; ')
etc.
string.split(' ') .map(i => i.charAt(0)) .toString() .toUpperCase().split(',')
Pour ajouter aux excellents exemples, vous pourriez le faire comme ceci en ES6
const x = "Java Script Object Notation".split(' ').map(x => x[0]).join('');
console.log(x); // JSON
et ceci fonctionne aussi, mais ignorez-le, je suis devenu un peu fou ici :-)
const [j,s,o,n] = "Java Script Object Notation".split(' ').map(x => x[0]);
console.log(`${j}${s}${o}${n}`);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.