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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Extraction des phrases d'un Texte


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Extraction des phrases d'un Texte
    Salut,

    Existe-t'il une fonction qui récupère dans un tableau les différentes phrases d'un texte (à la manière d'un explode en php).

    Je dois en effet récupérer les différentes phrases d'un texte. Mon séparateur est le point .

    Dois-je écrire ce code ou quelqu'un connait-il une fonction toute faite .

    Je vous remercie.
    Mouche qui pète n'amasse pas mousse
    cv

  2. #2
    Membre confirmé
    Avatar de nouanda
    Homme Profil pro
    Hobbyist
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Activité : Hobbyist

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 627
    Points
    627
    Par défaut
    ben, j'avais trouve sur le site de michel bardou pleins de fontions utiles sur les chaines (que j'utilise souvent...). en particulier, celles qui servent a extraire des chaines
    -a droite d'un separateur
    -entre deux separateurs
    -a gauche du separateur

    c bien pratique, vraiment. Merci Michel, au passage (oups, les modos vont peut-etre pas apprecier...)
    " Entre le Savoir et le Pouvoir, il y a le Vouloir "

    Desole pour les accents, je suis en QWERTY...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    procedure ExtrairePhrases2(RichEdit : TRichEdit );
    var
        Texte, phrase, caractere: string;
        i, LongueurTexte: integer;
        separateurs: string;
     
    begin
        phrase := '';
        Texte := RichEdit.Text;
        LongueurTexte := Length(Texte);
        separateurs :='!.?'; //Etablit la liste des séparateurs de phrases
     
        for i:=0 to LongueurTexte-1 do
        begin
            caractere := Texte[i];
            phrase := phrase + caractere;
            if Pos(caractere, separateurs) <> 0 then
            begin
                ShowMessage(Trim(phrase));
                phrase := '';
            end;
        end;
    end;

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Merci Ctrl-F2 pour ton aide.

    La fonction que tu me présente ici marche parfaitement à ceci prêt. Elle ne détexte pas la dernière phrase si celle si ne se termine pas par un délimiteur. Tu me diras c'est un peux normal.

    Comment modifier la fonction pour détecter également une éventuelle dernière phrase qui se terminerait soit par un caractère quelconque.

    Merci beaucoup de m'aider.
    Mouche qui pète n'amasse pas mousse
    cv

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Sébastien MERIC
    Je te signale Monsieur Sébastien MERIC qu'il m'arrive de taper du code.
    Lis un peu le code que j'ai proposé dans le forum (Sujet : Problème de pointeur) le mercredi 14 Aout 2002.

    Si je demande de l'aide, c'est que je bute sur un os et que j'en ai vraiment besoin.


    A bon entendeur.

    Mouche qui pète n'amasse pas mousse
    cv

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Voici une version améliorée qui complète la réponse de Sébastien et corrige une erreur d'index :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    procedure ExtrairePhrases3(RichEdit : TRichEdit );
    var
        Texte, phrase, caractere: string;
        i, LongueurTexte: integer;
        separateurs: string;
     
    begin
        phrase := '';
        Texte := RichEdit.Text;
        LongueurTexte := Length(Texte);
        separateurs :='!.?'; //Etablit la liste des séparateurs de phrases
     
        for i:=1 to LongueurTexte do
        begin
            caractere := Texte[i];
            phrase := phrase + caractere;
            if Pos(caractere, separateurs) <> 0 then
            begin
                ShowMessage(Trim(phrase));
                phrase := '';
            end
            else if i=LongueurTexte then
                ShowMessage(Trim(phrase));
        end;
    end;

  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 12
    Points : 7
    Points
    7
    Par défaut [Sujet Résolu]
    Merci beaucoup a vous tous : Ctrl+F2, Nouanda et Sébastien Méric pour m'avoir aidé à résoudre ce problème . C'est très sympa.

    Je ne manquerai pas de vous renvoyer l'appareil si l'occasion s'en présentait.
    Mouche qui pète n'amasse pas mousse
    cv

Discussions similaires

  1. extraction des mots d'un texte
    Par Scarlet Ibis dans le forum Débuter
    Réponses: 5
    Dernier message: 16/05/2012, 09h40
  2. [Langage/Algorithme] Extraction des ligne d'un texte manuscrit
    Par pink23 dans le forum C++Builder
    Réponses: 7
    Dernier message: 25/08/2010, 18h09
  3. Extraction des données dans un fichier texte brut
    Par Patrice.peace dans le forum Langage
    Réponses: 10
    Dernier message: 16/03/2010, 09h40
  4. Extraction des données d'un fichier text en vb net
    Par sihammaster dans le forum VB.NET
    Réponses: 5
    Dernier message: 29/11/2009, 15h37
  5. [TPW] Extraction des mots d'un texte
    Par adrian07 dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 12/01/2009, 13h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo