Bonjour,
Existe-t-il une fonction permettant d'avoir le nombre de fois qu'un caractère bien identifié est présent dans une phrase?
Par exemple, dans la phrase : La vie est un fleuve tranquille
Il y a 4 fois la lettre L
Merci
Bonjour,
Existe-t-il une fonction permettant d'avoir le nombre de fois qu'un caractère bien identifié est présent dans une phrase?
Par exemple, dans la phrase : La vie est un fleuve tranquille
Il y a 4 fois la lettre L
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function getNumChars(str, char) { return str.match(new RegExp(char,'ig')).length; }
oui ou un poil moins gourmands:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function getNumChars(str, char) { return str.split(char).length -1 ; }
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
split accepte une expression régulière en argument, donc :
affiche bien 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function getNumChars(str, char) { return str.split(char).length -1 ; } alert(getNumChars('Toto', /t/i))![]()
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
c'était pas spécifié mais ça se règle rapidement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part return str.toLowerCase().split(char.toLowerCase()).length -1 ;}
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
exactement
pendant ce temps, j'ai profité pour faire des tests avec ce code :
résultats :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 function getNumCharsMatchRegExp(str, chr) { return str.match(new RegExp(chr,'ig')).length; } function getNumCharsMatchLowerCase(str, chr) { return str.toLowerCase().match(new RegExp(chr.toLowerCase(),'g')).length; } function getNumCharsSplitRegExp(str, chr) { return str.split(new RegExp(chr,'ig')).length - 1; } function getNumCharsSplitLowerCase(str, chr) { return str.toLowerCase().split(chr.toLowerCase()).length - 1; } window.onload = function() { console.time('createarray'); var str = new Array(1000000).join('i'); console.timeEnd('createarray'); console.time('getNumCharsMatchRegExp'); console.log(getNumCharsMatchRegExp(str, 'i')); console.timeEnd('getNumCharsMatchRegExp'); console.time('getNumCharsMatchLowerCase'); console.log(getNumCharsMatchLowerCase(str, 'i')); console.timeEnd('getNumCharsMatchLowerCase'); console.time('getNumCharsSplitRegExp'); console.log(getNumCharsSplitRegExp(str, 'i')); console.timeEnd('getNumCharsSplitRegExp'); console.time('getNumCharsSplitLowerCase'); console.log(getNumCharsSplitLowerCase(str, 'i')); console.timeEnd('getNumCharsSplitLowerCase'); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 createarray: 145ms 999999 getNumCharsMatchRegExp: 320ms 999999 getNumCharsMatchLowerCase: 354ms 999999 getNumCharsSplitRegExp: 137ms 999999 getNumCharsSplitLowerCase: 60ms
Partager