IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Découpage d'un texte en mots

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

♪ Il peut être utile de découper un texte en mots, notamment pour créer un index.

Voici une méthode qui vous permet de faire ce découpage suivant un motif précis. Pour cela, nous utiliserons une RegEx (ou plus communément appelée expression régulière). Ces expressions sont utilisées pour parcourir de façon automatique des textes à la recherche de certains ensembles de caractères.

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
` cette méthode s'appuie sur l'utilisation d'un plug-in freeware "Qfree"(*)
` à télécharger et installer dans le dossier "Win4DX" ou "Mac4DX"

C_TEXTE($1) `texte à découper
C_ENTIER LONG($nb_mot;$ii;$err)
C_BLOB($blob_target)
C_ENTIER LONG($offset)

`Initialisation des tableaux nécessaires à la commande Qfree
TABLEAU ENTIER LONG($_offset;0)
TABLEAU ENTIER LONG($_longueur;0)

`Motif de découpage suivant le principe des expressions régulières.
$patern:="\\W+(\\w*)\\W*"

`Transformation du texte en BLOB (QFree travaille avec des blobs)
TEXTE VERS BLOB($1;$blob_target;Texte sans longueur )
$flags:=0

`Utilisation de la fontion QF_Resplit de QFree qui, à partir d'un blob et d'un motif,
`retourne la position de départ de chaque motif et leur longueur correspondante dans les tableaux.
$err:=QF_Resplit ($patern;$blob_target;$_offset;$_longueur;$flags)

Si ($err=0)

    $nb_mot:=Taille tableau($_offset)

    `Transfert des mots trouvés selon le motif dans un tableau
    TABLEAU TEXTE(_mot;$nb_mot)

    Boucle ($ii;1;$nb_mot)
        $offset :=$_offset{$ii}
        Si ($offset>=0)
            _mot{$ii}:=BLOB vers texte($blob_target;Texte sans longueur;$offset;$_longueur{$ii})
        Fin de si
    Fin de boucle
    _mot:=0

Sinon

    TABLEAU TEXTE(_mot;0)

Fin de si

(*) QFree :
      Vous trouverez plus d'informations sur Qfree sur le site de son éditeur Escape : http://www.escape.gr/q/index.html
      Et vous pouvez le télécharger à cette adresse : http://www.escape.gr/q/q_download.html

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2006 4D s.a.. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.