Stocker tous les mots d'une phrase dans un array

Contenu du snippet

Bah voila cette cours permet de stocker tous les mots d'une phrase dans un ARRAY c qui peut etre vraiment utile dans le cas d'un moteur de recherche ou vous devez avoir tous les mots de la requete pour formuler la requeste SQL...

Source / Exemple :


<%
'--- Déclaration des variables ----    
Dim objConn
Dim MOTS
Dim NbrMOTS
Dim MOTSarr()
Dim CopyMOTS

MOTS="Vive ASPFR!" 'La phrase

'---- Fonction qui supprime les espaces en trop dans une phrase ----
Function DelSpace(Chaine)
	Dim ChaineCopy, i, NbrCarToEnd, Part1, Part2
	ChaineCopy = LTrim(Chaine)
	ChaineCopy = RTrim(ChaineCopy)
	i = InStr(1, ChaineCopy, "  ")
	While i <> 0
	    NbrCarToEnd = Len(ChaineCopy) - (i - 1)
	    Part1 = Mid(ChaineCopy, 1, i)
	    Part2 = Mid(ChaineCopy, i + 2, NbrCarToEnd)
	    ChaineCopy = Part1 & Part2
	    i = InStr(1, ChaineCopy, "  ")
	Wend
	DelSpace = ChaineCopy
End Function 

'---- Fonction qui compte les mots ----
Function CompteMOTS(Chaine)
	Dim NbrSPACE,I
	NbrSPACE=0
	For I=1 To len(Chaine)
		If mid(Chaine,I,1)=" " Then
			NbrSPACE=NbrSPACE+1
		end if
	next 
	if NbrSPACE=0 Then
		CompteMOTS=1
	Else
		CompteMOTS=NbrSPACE+1
	End If
End Function

MOTS=DelSpace(MOTS)
NbrMOTS=CompteMOTS(MOTS)
ReDim MOTSarr(NbrMOTS)
CopyMOTS=MOTS

'---- Stocke tous les mots dans un array ----
For i=1 to NbrMOTS
CopyMOTS=DelSpace(CopyMOTS)
	If instr(1,CopyMOTS," ")=0 and Len(CopyMOTS)>0 Then
		MOTSarr(i)=DelSpace(mid(CopyMOTS,1,len(CopyMOTS)))
		CopyMOTS=""		
	Else
		MOTSarr(i)=DelSpace(mid(CopyMOTS,1,instr(1,CopyMOTS," ")))
		CopyMOTS=mid(CopyMOTS,instr(1,CopyMOTS," "),Len(CopyMOTS))
	End If
Next

'MOTS est la variable qui contient la phrase
'NbrMOTS est une variable qui contient le nombre de mots dans une phrase
'MOTSarr est un array avec tous les mots de la phrase

'PS:Oups j'ai oublié de préciser que l'ARRAY commence a 1 et non pas a 0!!!
%>

Conclusion :


Voila,voila...
@++
vbtom.

'--------------------
En réponse a pi0oup: Ca sert pour un moteur de recherche!
Pour muad-dib:je suis pas sur que ton truc sotck tous les mots d'une phrase dans un array :) Mais en fait j'ai jms utilisé split alors...Mais si ton truc marche bah dis le moi ca me simplifieras grandement la tache!
Mais attend je dis des conneries...Tes génial muad-dib!Tu veux dire que split arrive a remplacer deux fonction que g faires...trop fort!Je vais pouvoir raccourcir cette source terriblement! Génial!T'es un génie!Merci bcp!

A voir également

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.