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 :

Recherche d'une chaine de caractères dans un cell array


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2007
    Messages : 173
    Par défaut Recherche d'une chaine de caractères dans un cell array
    Bonjour,
    je cherche a lire un ficher txt de deux colonnes séparé par une tabulation.
    la premiere colonne correspond au nom de ma variable et la seconde sa valeur.
    Je connais mal l'utilisation des cell, alors je m'embrouille.

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nomfic = 'conf.txt';
    fid = fopen(nomfic,'r');
    param=textscan(fid, '%s %d', 'delimiter', '\t');
     
    numliDeplHor1=strfind(param{1},'DeplHor');
    donne :
    numliDeplHor1 =

    [1]
    []
    []
    Je souhaite récupérer le numéro de la ligne avec 1. Mais numliDeplHor1 est de class Cell.

    Peut être avez vous une solution.
    Merci

    Imaginallthe

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Pour la lecture de fichier texte penser à mettre l'option 'rt' plutôt que 'r' (pour le multi plateformes par exemple).

    Pour l'utilisation des cell array faire un tour par la
    5. Les tableaux de cellules (cell array)

    Pour trouver le numéro de ligne j'aurais plutôt utiliser STRMATCH ou STRCMP avec FIND (plus rapide en général) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    numliDeplHor1=strmatch('DeplHor',param{1})
    %ou
    numliDeplHor1=find(strcmp(param{1},'DeplHor'))
    sauf si tu cherches le/les terme/s qui commendant par DeplHor, STRMATCH fonctionnera et pas STRCMP.

  3. #3
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    sauf si tu cherches le/les terme/s qui commencent par DeplHor, STRMATCH fonctionnera et pas STRCMP.
    Bonjour,

    Dans ce cas tu peux aussi utiliser STRNCMP

    Bonne journée,
    Duf

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/05/2007, 17h42
  2. Réponses: 3
    Dernier message: 25/07/2006, 08h40
  3. [VB]Recherche d'une chaine de caractère dans un fichier
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 26
    Dernier message: 16/02/2006, 09h10
  4. [String]Recherche d'une chaine de caractères dans une autre
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2004, 11h51
  5. recherche d'une chaine de caractère dans une données text
    Par jdeheul dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 17/06/2004, 16h35

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