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 :

Remplacer espace par virgule


Sujet :

MATLAB

  1. #1
    Membre du Club
    Homme Profil pro
    R&D
    Inscrit en
    Mai 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 101
    Points : 62
    Points
    62
    Par défaut Remplacer espace par virgule
    Citation Envoyé par Dut Voir le message
    Voici la méthode la plus efficace (sur un fichier):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    fid=fopen('data.txt','r');
    X=fread(fid);
    fclose(fid);
     
    X=strrep(X,',','.');
     
    fid=fopen('data2.txt','w');
    fwrite(fid,X);
    fclose(fid);
    Malgré tout, je ne pense pas que Matlab soit le plus adapté pour cette tâche
    Bonjour,

    J'ai un fichier txt avec des valeurs du type : 14 512.12 14 513.12... qui correspondent à des numéros tels que 14512.12 et 14513.12
    J'aimerai ajouter une virgule entre le 14 et le 512 mais je n'y arrive pas, est ce possible ?
    A noter : Les nombres sont en lignes dans une cellule et la ligne de code Xmodif= strrep(X,' ', ',') ne semble pas fonctionner !

    Merci

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2012
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 97
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    La commande strrep(X,' ', ',') fonctionne chez moi.

    Il s'agit peut être d'une tabulation et non d'un espace. Essaye avec Xmodif = strrep(X,char(9),',').

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

    strrep(X,' ', ',') va fonctionner, mais pas comme on le souhaiterait.
    On insèrera bien les virgules entre les milliers et unités, mais aussi entre chaque nombre : 14,512.12,14,513.12.

    Tu peux essayer comme ceci avec la fonction regexprep :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    X = regexprep(X, '(?<![\.\d])(\d+)\s', '$1');

Discussions similaires

  1. [RegExp] remplacer espaces, tirets, virgules par +
    Par erox44 dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 24/06/2012, 21h11
  2. Remplacement Point par Virgule.
    Par Geraldvi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/11/2008, 09h27
  3. remplacer espaceS par espacE
    Par 8L4CK8ird dans le forum Débuter
    Réponses: 14
    Dernier message: 10/09/2008, 09h59
  4. remplacer espace par tiret dans formulaire
    Par referenceur-tv dans le forum Langage
    Réponses: 17
    Dernier message: 03/06/2008, 14h52
  5. [DELPHI WIN32] Remplacer points par virgules
    Par manubrard dans le forum Langage
    Réponses: 3
    Dernier message: 28/03/2006, 15h02

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