Bonjour
Je cherche comment trouver un mot plus fréquent dans une chaine taper dans un ritchtextbox en vb 2010 ?
Auriez vous une piste a me donner ?
Merci de m'aider.
Version imprimable
Bonjour
Je cherche comment trouver un mot plus fréquent dans une chaine taper dans un ritchtextbox en vb 2010 ?
Auriez vous une piste a me donner ?
Merci de m'aider.
Bonjour,
c'est à dire ? Tu veux savoir si ta chaine contient une séquence de caractère ?
bonjour,
voila un exemple
pour un texte taper dans un ritchtextebox:
"java vb java sql java"
le mot le plus fréquent est :"java"
Il ne me semble pas qu'il existe de fonction déjà faite pour ça (sinon je la veux aussi :mrgreen:).
Tu peux regarder du côté de la méthode Contains de la classe String ou bien la fonction Find de la classe RichTextBox.
Après, il faudra jouer avec la chaine de caractère pour retrouver le nombre d'occurrence.
merci bien pour votre attention
j'ai commencer a faire trier les mots où par exemple :
pour un texte " b a c a e a"
j'obtient : "a a a b c e"
et là je cherche comment déterminer que "a" est la plus fréquente
En C#:
Code:
1
2
3 var s = "java vb java sql java"; var words = s.Split(' '); var occurences = words.GroupBy(i => i, (key,elems) => new { Key = key, Count=elems.Count() });
Ouais, le split c'est bien mais encore faut il que ta chaîne soit formatée toujours de la même façon (ici séparation des mots par des espaces).
moi comme idée j'ai commencé de trier l'ensemble des mots mais je cherche a compter le nombre d’occurrence de chaque mot .
Code:
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 motplusfreq() Dim taille, idmot, m, x, i, j As Integer Dim TabMot(), mot, ch As String taille = RTTEXT1.Text.Split(" ").Length TabMot = RTTEXT1.Text.Split(" ") j = 0 x = 0 m = 0 Dim verif As Boolean Do verif = True For i = 0 To taille - 2 If TabMot(i) > TabMot(i + 1) Then mot = TabMot(i) TabMot(i) = TabMot(i + 1) TabMot(i + 1) = mot verif = False End If Next Loop Until (verif = True) x = 0 m = 0 j = 0 mot = "" ch = "" While (j < taille - 3) For i = 0 To taille - 1 If ch(i) = ch(j) Then x = x + 1 idmot = i End If Next If (x > m) Then x = m mot = TabMot(idmot) End If x = 0 j = j + 1 End While motplusfreq = mot End Function
Heureusement que t'écoutes ce que je dis :\
Code:
1
2
3 Dim s = "java vb java sql java" Dim words = s.Split(" "C) Dim occurences = words.GroupBy(Function(i) i, Function(key, elems) New With { Key .Key = key, Key .Count = elems.Count() })