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 :

garder les n premiers caractères d'une chaîne


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut garder les n premiers caractères d'une chaîne
    Bonjour,
    nouvel inscrit ici, j'ai souvent trouvé une solution dans le forum, mais aujourd'hui ce n'est pas le cas...

    je lis un fichier .txt de la forme suivante :

    4 12032619345567 -0.00 -0.10 -1.0
    7 12032709381333 0.10 3.30 272.0
    8 12032710381333 0.09 3.90 265.0
    ...

    je réalise la lecture grâce au code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    fid=fopen('name.txt','r') ; 
    A = textscan(fid,'%d %d64 %f32 %f32 %f32');
    fclose(fid);
    jusque là tout va bien, je peu visualiser mes 5 vecteurs avec les commandes A{:,x}...

    La deuxième colonne correspond à la date, mais les deux derniers chiffres étant des centièmes de secondes, je voudrais les supprimer pour pouvoir faire un datenum('yymmddMMHHSS').

    voila le code avec lequel je pensais réaliser cette opération :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    %%
    tt=num2str(A{:,2})
    %% SousChaine
    tt2=char(tt)
    tt3=tt2(1:12)
    mais j'obtiens douze 1 :

    tt3 =

    111111111111


    Auriez vous une idée s'il vous plaît?
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 901
    Points
    52 901
    Par défaut
    Une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    fid=fopen('name.txt','r') ; 
    A = textscan(fid,'%d %s %f32 %f32 %f32');
    fclose(fid);
    
    D = cellfun(@(x) x(1:end-2),A{2},'UniformOutput',false);
    
    datenum(D,'yymmddMMHHSS')

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci Dut, je test ça demain matin!

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci Dut, je viens de tester, ça marche niquel ! Je vais m'en souvenir de %s & cellfun !

    Bonne journée

Discussions similaires

  1. Supprimer les premiers caractères d'une chaîne
    Par supers dans le forum Word
    Réponses: 4
    Dernier message: 21/08/2009, 10h04
  2. Supprimer les N premiers caractères d'une chaîne
    Par kobalt02 dans le forum Débuter
    Réponses: 7
    Dernier message: 11/07/2008, 09h25
  3. Garder que les 10 premiers caractère d'une variable
    Par dembroski dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2007, 16h18
  4. Réponses: 5
    Dernier message: 20/02/2007, 17h16
  5. Réponses: 5
    Dernier message: 30/10/2006, 13h37

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