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 :

Chercher un mot dans un fichier et le chiffre en face


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut Chercher un mot dans un fichier et le chiffre en face
    Bonjour,

    J'ai un fichier, melange de texte et de chiffre et de caractere exotique, j'aimerai parcourir ce fichier et verifier combien d'erreur il contient, si il en a 1 alors je souhaite que mon code matlab s'arrete.

    Je cherche dans mon fichier
    Donc mon algo serait d'abord de trouver Errors puis regarder le chiffre apres et si il est different de 0 alors BREAK.

    J'ai commence par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fid = fopen('WXB2.DBG','r');
    b = textscan(fid,'%s\t');
    fclose(fid);
    motatrouver='Errors';
    Ensuite je sais pas trop, peut-etre utiliser le mot cles "FIND" mais je seche un peu la ..

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

    Si chacun de ces critères Errors X est sur une ligne distincte, tu peux faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    fid = fopen('WXB2.DBG','r');
    lignes = textscan(fid, '%s', 'Delimiter', '\n');
    fclose(fid);
    
    motatrouver = 'Errors';
    idx = strncmp(lignes{1}, motatrouver, numel(motatrouver));
    lignes_recherchees = lignes{1}(idx)

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut
    Oui sur la ligne que je recherche il n'y a que "Errors 0"

    Merci pour la proposition, j'ai essaye et j'obtiens, ca tourne et ca m'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    lignes_recherchees = 
     
       Empty cell array: 0-by-1
    Dans ton code je ne comprends pas bien ce que fait la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    idx = strncmp(lignes{1}, motatrouver, numel(motatrouver));
    je ne comprends qu'elle est la variable qui prend la valeur apres Errors, en effet j'aimerai que si cette variable vaut 1, mon code s'arrete.

    Merci.

  4. #4
    Invité
    Invité(e)
    Par défaut
    La fonction strncmp compare les numel(motatrouver) premiers caractères de chaque ligne contenue dans ligne{1}. Autrement dit si la ligne commence par ce que contient motatrouver.
    Regarde le contenu de lignes{1} et tu seras vite fixé sur le pourquoi tu obtiens un tableau vide.

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut
    Merci je vais regarder ca.

Discussions similaires

  1. Chercher un mot dans un fichier txt local
    Par afef01 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/08/2014, 17h20
  2. Chercher un mot dans les fichiers d'un répertoire
    Par xavierdestev dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 31/03/2014, 17h38
  3. chercher un mot dans un fichier
    Par rezguiinfo dans le forum Langage
    Réponses: 1
    Dernier message: 02/07/2012, 14h04
  4. Comment chercher un mot dans un fichier texte et le modifier?
    Par Ange_1987 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 13/05/2009, 18h24

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