Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RECHERCHE D'UN MOT DANS UNE PHRASE WORDEXISTS


Information sur la source

Catégorie :Texte Source .NET ( DotNet ) Classé sous : rechercher, mot, phrase Niveau : Initié Date de création : 18/11/2006 Date de mise à jour : 20/11/2006 19:39:55 Vu : 9 948

Note :
Aucune note

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

rechercher un mot dans une phrase,
s'il existe retourne vrai
Remarque: supporte  "*"

 

Source

  • Public Function WordExists(ByVal Word As String, ByVal Phrase As String) As Boolean
  • Dim i, j As Integer
  • Dim SSplit() As String
  • WordExists = True
  • Word.Trim()
  • SSplit = Word.Split("*") ' Supports wildcards
  • Dim FragmentExist(SSplit.Length) As Boolean
  • For i = 0 To SSplit.Length - 1
  • FragmentExist(i) = phrase.Contains(SSplit(i))
  • j = phrase.IndexOf(SSplit(i)) + SSplit(i).Length
  • If j > phrase.Length Then j = phrase.Length - 1
  • If FragmentExist(i) Then phrase = phrase.Substring(j)
  • WordExists = WordExists And FragmentExist(i)
  • Next
  • End Function
    Public Function WordExists(ByVal Word As String, ByVal Phrase As String) As Boolean
        Dim i, j As Integer
        Dim SSplit() As String

        WordExists = True
        Word.Trim()
        SSplit = Word.Split("*")  ' Supports wildcards
        Dim FragmentExist(SSplit.Length) As Boolean
        For i = 0 To SSplit.Length - 1
            FragmentExist(i) = phrase.Contains(SSplit(i))
            j = phrase.IndexOf(SSplit(i)) + SSplit(i).Length
            If j > phrase.Length Then j = phrase.Length - 1
            If FragmentExist(i) Then phrase = phrase.Substring(j)
            WordExists = WordExists And FragmentExist(i)
        Next
    End Function

Conclusion

J'espère que ce code aiderait,
j'attends une amélioration et vos commentaires
 

Historique

20 novembre 2006 19:39:55 :
Cocher l'option .Net

Commentaires et avis

signaler à un administrateur
Commentaire de PCPT le 19/11/2006 02:34:46 administrateur CS

salut,
c'est du .Net non? (Flag à cocher)

et....
WordExists = (InStrB(1, Phrase, Word) > 0)
çà suffit pas?

le but d'une fonction (ici surtout) serait plus d'être appelée pour autant de mots désirés que de séparer elle-même un groupe de mots inutilement non?!

voir www.Codyx.Org pour ce genre de bout de code (s'il est valable, j'attends l'avis un dev DotNet...)
++

signaler à un administrateur
Commentaire de Willi le 19/11/2006 10:19:33 administrateur CS

il y a beaucoup de méthode pour rechercher un mot dans un texte. La tienne remplie son boulot,  mais peut-etre largement simplifier comme ci-dessous. Pour un dépot sur codyx voir d'abord si une méthode similaire cela n'existe pas déjà.

    Public Function WordExists2(ByVal word As String, ByVal phrase As String) As Boolean

        If phrase.IndexOf(word) <> -1 Then
            Return True
        Else
            Return False
        End If

    End Function

signaler à un administrateur
Commentaire de Kite37 le 19/11/2006 11:18:44

ou il y a aussi une autre manière plutot sympa mais compliquée : l'utilisation de la classe regex ;)

signaler à un administrateur
Commentaire de Willi le 19/11/2006 17:00:43 administrateur CS

Plus compliquée je ne crois pas....

    Function WordExists(ByVal word As String, ByVal phrase As String) As Boolean

        Return Text.RegularExpressions.Regex.IsMatch(phrase, word, Text.RegularExpressions.RegexOptions.IgnoreCase)

    End Function

signaler à un administrateur
Commentaire de riadhh05 le 20/11/2006 12:38:49

Salut,
Merci pour les commentaires, mais je penses que WordExists2 ne permet pas d'utiliser des fragments de mots.
Par contre pour rechercher plusieurs mots dans une phrase d'utiliser la fonction WordExists(ByVal Word As String, ByVal Phrase As String)en séparant chaque mot par "*"
example: mots à chercher ="Bonjour tout le monde"
Replace(mots à chercher , " ", "*")
puis appeler la fonction wordexist(mots à chercher , phrase)
le résultat est exclusif, tous les mots doivent exister en même temps.


signaler à un administrateur
Commentaire de Kite37 le 22/11/2006 19:11:45

willi, toi qui a l'air de t'y connaitre dans ce genre de chose : comment peut-on faire pour chercher un caractère bien précis (genre "é") dans une phrase?

(Car meme en utilisant unicode, vu que je crypte les données de mon Chat avant de les envoyer, les é,è,à,ù ne passent pas :(  )

signaler à un administrateur
Commentaire de Kite37 le 22/11/2006 19:13:11

enfin (dsl du flood mais je crois m'être mal exprimé) pour retrouver ce caractère ou qu'il soit biensur :) (ainsi, qu'il soit en début, milieu, ou fin de mot, ça me le trouve quand meme a son emplaecment précis, pour me permettre de faire un replace() par la suite :)  )

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Rechercher et Remplacer [ par Ismael ] Je voudrais écrire une macro qui recherche dans un classeur excel un mot (voiture) et le remplacer par un autre mot (camion)Merci d'avance. voir si un mot est dans le textbox [ par Alexandre Gauthier ] je veux que:j'ai un fichier avec certain mot a chaque lignela je veut marquer une phrase dans un textbox et en clickant sur command1 que sa analyse ch Rechercher des mot et les remplacer [ par Gabriel ] bonjour... si j'ai le texte ci dessous:Bonjour TOTO salut 12345 tref abc qwertry salut 244444 kloJe veux rechercher tous les mot "salut"et les remplac rechercher et remplacer du texte [ par spok ] Bonjour,Je désire rechercher dans tout les fichiers word d 'un repertoire le mot "hello", si il s y trouve rechercher le mot "salut" et le remplacer p Rechercher un mot dans un fichier [ par SatanCorporation ] Bonjour a tous !!!Je cherche a savoir comment rechercher un mot qui est placé dans un fichier.J'attend avec impatience vos reponces!!!Merci d'avanceSa rechercher un mot dans un combo [ par seb41 ] j'ai un combobox avec plusieurs lignes et je souhaite rechercher un mot clé a l'intérieur.comment faire?merci d'avance. Un mot à rechercher dans ma base de données [ par petite bille ] Bonjour à tous et meilleur voeux !J'apprend à travailler avec Visual Basic 5 à l'aide un petit manuel. J'en suis à travailler sur les bases de données [VBa Excel] comment rechercher un mot dans un document word [ par steir ] bonjour à tous et à toutes, Je travaille sur excel en vba, j'ai un probleme il faut que je fasse une recherche par mot clé dans des documents word. Si Couper une phrase dans un textbox sans couper un mot... [ par sachab ] Bonjour,Je voudrais couper une phrase dans un TextBox au caractère 60, mais si ca tombe en plein sur un mot je voudrais que sa coupe dans un espace av Nombre de mots dans une phrase et mot le plus long [ par SUBMAIN ] Voila je voudrais savoir comment faire un programme qui saisisse une phrase et affiche :-le nombre de mots dans cette phrase.-Le mot le plus long et l


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.