Recherche d'un mot dans une phrase wordexists

Soyez le premier à donner votre avis sur cette source.

Snippet vu 20 207 fois - Téléchargée 27 fois

Contenu du snippet

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

Source / Exemple :


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

A voir également

Ajouter un commentaire Commentaires
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018

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 :) )
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018

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 :( )
Messages postés
17
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
16 juin 2008

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.
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
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
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.