RECHERCHE D'UN MOT DANS UNE PHRASE WORDEXISTS

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 19 nov. 2006 à 02:34
cs_Kite37 Messages postés 242 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 17 janvier 2018 - 22 nov. 2006 à 19:13
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40373-recherche-d-un-mot-dans-une-phrase-wordexists

cs_Kite37 Messages postés 242 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 17 janvier 2018
22 nov. 2006 à 19:13
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 :) )
cs_Kite37 Messages postés 242 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 17 janvier 2018
22 nov. 2006 à 19:11
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 :( )
riadhh05 Messages postés 17 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 16 juin 2008
20 nov. 2006 à 12:38
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.
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
19 nov. 2006 à 17:00
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
cs_Kite37 Messages postés 242 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 17 janvier 2018
19 nov. 2006 à 11:18
ou il y a aussi une autre manière plutot sympa mais compliquée : l'utilisation de la classe regex ;)
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
19 nov. 2006 à 10:19
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
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 nov. 2006 à 02:34
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...)
++
Rejoignez-nous