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

MATLAB Discussion :

Extraire lignes de texte


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 7
    Points
    7
    Par défaut Extraire lignes de texte
    Bonjour

    J'aimerai savoir comment je peut récupérer dans des cell array (car je vais les comparer ensuite) les lignes d'un fichier texte.
    Tout d'abord les lignes comprises entre X et Y je voudrais les récupérer dans une cell array.
    Et dans une seconde cell array je voudrais récupérer celles comprises entre Z et la fin du texte.

    C'est capital pour mon projet, Tout bout de code est vraiment vraiment le bienvenue

    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
    26
    27
    28
    function List = Untitled2(Planches)
     
     
    Planches= textread('mon fichier','%s','delimiter','\n');
     
    for  f =1:length(Planches)
        Planches{f}=lower(Planches{f});%% Conversion en minuscule pour les besoins de la comparaison
    end
    % initialtlize the structure
    List.sheet='';
    List.variant='';
    List.issue='';
    List.full='';
    List.line='';
     
    indexSheet = strmatch('l0',Planches );
    Planches =Planches(indexSheet);
     
    for i= length(Planches)
        List(i).line = Planches{i}; %#ok<*AGROW>
        List(i).sheet=Planches{i}(1:10);%planches
        List(i).variant=Planches{i}(11:13);%variant
        List(i).issue=Planches{i}(14:15);%issue
        List(i).full=[List(i).sheet,...
            List(i).variant,...
            List(i).issue];  
     
    end


    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je ne vois aucun bout de ton code qui s'apparente à ce que tu souhaites faire
    Qu'est-ce que X, Y et Z ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Oui dans mon bout de code je permet juste de convertir et ensuite d'indexer mon texte.
    Il n'y a pas de bout de code qui s'apparente à ce dont je souhaite faire car je ne sais pas comment faire.

    Mon texte à cette allure :

    afger
    egf
    X
    hefhf
    efjne
    fekf
    efe,okf
    ejfe
    Y
    Z
    zefhioz
    zefhpf
    sefn
    ijfvg$
    zei
    Voila et moi je souhaite récupere ce qu'il y a entre X et Y et ensuite entre Z et la fin.

    Merci de vos réponses

  4. #4
    Invité
    Invité(e)
    Par défaut
    Dans ce cas, utilise les fonctions strcmp et find pour repérer les lignes qui contiennent X, Y et Z.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Aurais tu un bout de code à me proposer? Car mon code ne me fournit aucun résultat

    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
    26
    27
    28
    29
    30
    31
    32
    function List = Untitled2(Planches)
     
    Planches= textread('c:\Users\to102551\My Documents\21-03-12\L95E\ELAC_L95E_2040_1369_A320.E0001','%s','delimiter','\n');
     
    for  f =1:length(Planches)
        Planches{f}=lower(Planches{f});%% Conversion en minuscule pour les besoins de la comparaison
    end
    % initialtlize the structure
    List.sheet='';
    List.variant='';
    List.issue='';
    List.full='';
    List.line='';
     
    indexSheet = strmatch('l0',Planches );
    Planches =Planches(indexSheet);
     
    for i= length(Planches)
        List(i).line = Planches{i}; %#ok<*AGROW>
        %   List(i).line=textscan(Planches{i},'%s','delimiter','');
        List(i).sheet=Planches{i}(1:10);%planches
        List(i).variant=Planches{i}(11:13);%variant
        List(i).issue=Planches{i}(14:15);%issue
        List(i).full=[List(i).sheet,...
            List(i).variant,...
            List(i).issue];         
    end
     
    ind = find ( Planches {i} , 'COM' );
     
     
    end

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je t'ai dirigé vers 2 fonctions.
    As-tu au moins regardé leur documentation ?

Discussions similaires

  1. extraire chiffre dans une ligne de texte
    Par zer0o dans le forum Excel
    Réponses: 4
    Dernier message: 14/11/2014, 14h24
  2. Extraire une heure d'une ligne de texte
    Par pascalouh dans le forum Linux
    Réponses: 2
    Dernier message: 03/04/2009, 02h43
  3. Problème extraire ligne d'une table
    Par bubi dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/11/2005, 10h35
  4. Extraire image et texte d'un powerpoint
    Par VLDG dans le forum Langage
    Réponses: 2
    Dernier message: 07/11/2005, 21h48
  5. Réponses: 2
    Dernier message: 03/12/2004, 09h27

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