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

Langage Perl Discussion :

remplacer des espaces par sauts de ligne - ajouter un espace en fin de ligne


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 23
    Points : 26
    Points
    26
    Par défaut remplacer des espaces par sauts de ligne - ajouter un espace en fin de ligne
    Bonjour,
    Je dispose d'un tableau "@coeff_lines" qui se trouve sous cette forme:

    10 10 7 8 8 10
    7 8 10 7 10 10
    7 8
    e
    12$$ a0001 code
    1001001 1002306 70014089 80092235 80094238
    7002005 8002005 10000000 10000145 10078523
    8000014 7012354 10003155 8002245 e



    Je souhaiterais avoir tous ces caracteres dans une colonne, en concervant l'ordre de dsiposition, de cette maniere:
    10
    10
    7
    8
    ...
    10003155
    8002245
    e


    #remplacer les espaces par des sauts de lignes; cela marche, sauf pour le dernier caractere de ma ligne.

    for my $line (@coeff_lines){
    @splitted_lines = join ("\n" split (" ", $line));
    }

    ce qui supprime les espaces et les envoie a la ligne, comme je le souhaite, mis a part le dernier caractere de chaque ligne (10 ; 10 ; 8; e; code; 80094238; 10078523; e) car ce caractere ne presente pas d'espace apres.
    Avez-vous une solution?
    J'ai essaye d'ajouter en premier lieu un espace apres le dernier caractere, et ensuite utiliser le code ci-dessus, mais je n'ai pas trouve comment ajouter un espace en fin de ligne.

    #ajouter des espaces en finde ligne; cela m'ajoute un esapce, mais me supprime le dernier caractere de #ma ligne

    $line =~ s /(.)$/ \3 /;

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Je suppose qu'en mettant ceci dans la boucle ça marchera mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chomp($line);
    @splitted_lines = map "$_\n", split /\s+/, $line;
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  3. #3
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 469
    Points
    12 469
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Avec split:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for my $line (@coeff_lines){
         print map {"$_\n"} split " ", $line;
    }
    Ou si tu les veux dans un tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    my @splitted_lines;
    for my $line (@coeff_lines){
         @splitted_lines = map {"$_\n"} split " ", $line;
    }

    Ajouter un espace en fin de ligne avec une regex:

    Edit : grillé par Philou.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 23
    Points : 26
    Points
    26
    Par défaut
    Merci beaucoup pour votre aide

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

Discussions similaires

  1. [XL-MAC 2008] Remplacer espace par saut de ligne ?
    Par Mister Paul dans le forum Excel
    Réponses: 6
    Dernier message: 01/03/2012, 17h42
  2. Remplacement des retours chariots (saut de ligne)
    Par cvexxx dans le forum Bases de données
    Réponses: 8
    Dernier message: 29/09/2009, 14h46
  3. Remplacer des Tabulations par des espaces dans une RichTextBox
    Par skar.theparadiz dans le forum Windows Forms
    Réponses: 11
    Dernier message: 11/07/2008, 14h43
  4. Réponses: 5
    Dernier message: 30/05/2005, 16h58

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