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 :

Comparaison chaînes de caractère


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Par défaut Comparaison chaînes de caractère
    Bonjour à tous,

    J'ai un petit problème suite à la lecture d'un fichier .txt par Matlab.

    La variable A (lu sur le fichier .txt) me retourne le résultat suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        'H   '
        'Fe  '
        'Cu  '
        'Mn  '
        'Ni  '
        'Si  '
        'C   '
        'Name'
        'Mo  '
        'Ga  '
    Le nombre de caractère pour les valeurs de A est fixé par la chaîne de caractère la plus grande (ici 'Name', donc tous les cellules contiennent 4 caractères).

    J'ai une autre variable B, qui peut prendre comme valeur l'un de ces élément mais c'est toujours sans espace comme :

    ou

    Le problème étant que j'ai besoin de comparer B aux valeurs de A pour trouver celles qui sont identiques mais les espaces empêchent d'obtenir un résultat positif.
    De plus, le nombre de caractère par cellule de A peut varier d'un .txt à un autre.

    Voilà le script que j'utilise pour la comparaison pour l'instant, quand je connais A à l'avance et que j'ai du coup pu rajouter les espaces manquants à C.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for i=1:1:LenghtA
        Test = strcmp(A{i},C{1});
        if Test(1) == 1
            %Opération sur une matrice H
        end
    end
    J'avais pensé à limiter A en taille de caractère, en 'coupant' au 6ième caractère par exemple afin de toujours avoir la même taille quelque soit le fichier .txt mais je n'arrive pas le faire. Ou bien, à supprimer les espaces dans A, mais je ne trouve pas la solution non plus.

    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 885
    Par défaut
    salut

    pour couper une chaîne de caractères à partir du 6ème caractère :
    pour enlever les espaces avant et après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine = strtrim(chaine);
    pour enlever les espaces en fin de chaine seulement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine = deblank(chaine);
    Fabien

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Par défaut
    Ah super, ça marche ! Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparaison chaîne de caractères
    Par sousou12 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 02/11/2012, 18h15
  2. bug comparaison chaînes de caractères
    Par vince29 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 11/06/2012, 11h35
  3. Comparaison chaîne de caractère
    Par nicnictout dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 06/10/2009, 11h21
  4. [MySQL] Problème de comparaison de chaîne de caractères
    Par Laurent64 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/05/2007, 19h04
  5. [Excel-VBA] Pb de comparaison de chaîne de caractères
    Par tangjuncn dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/02/2007, 12h50

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