begin process at 2008 08 22 06:08:33
1 229 779 membres
50 nouveaux aujourd'hui
14 267 membres club

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 : 8 230

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
20 novembre 2006 19:39:55 :
Cocher l'option .Net
  • 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

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS