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

Ruby Discussion :

Découper une chaîne dont la taille est dynamique


Sujet :

Ruby

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 73
    Points
    73
    Par défaut Découper une chaîne dont la taille est dynamique
    Bonjour,

    Je souhaiterais découper une chaîne via cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ma_chaine.scan /(.{1,8})/
    Cependant, je voudrais que le nombre 8 soit une remplacé par une variable, afin de découper cette chaîne en autant de bloc qu'il en faut, dynamiquement. Or le problème que j'ai, c'est que si j'écris ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    variable = 5
    ma_chaine.scan /(.{1,variable })/
    Le programme ne fonctionne plus.

    A l'aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 172
    Points : 219
    Points
    219
    Par défaut Essaye avec #{variable}
    Essaye de l'écrire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    >> variable=1
    => 1
    >> str.match(/(.{1,#{variable}})/).captures
    => ["a"]
    >> variable=2
    => 2
    >> str.match(/(.{1,#{variable}})/).captures
    => ["ab"]
    >> variable=7
    => 7
    >> str.match(/(.{1,#{variable}})/).captures
    => ["abcdefg"]
    Une expression régulière se comporte comme une chaine vis à vis de l'écriture "#{}".

    Côme

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    Impecable

    Merci Côme !

    Euh, est-ce qu'il serait aussi possible d'insérer une variable dans la fonction slice, pour obtenir quelque chose comme ça :J'avais tenté d'écrire ceci mais ça ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    variable = 2
    str.slice(#{variable}..#{variable})
    Ah, je viens de me rendre compte qu'il suffisait d'écrire directement la variable ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    variable = 2
    str.slice(variable..variable)
    Au temps pour moi

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

Discussions similaires

  1. Connaître la hauteur d'une div dont l'intérieur est dynamique
    Par Finnegans dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/08/2010, 12h33
  2. Réponses: 14
    Dernier message: 27/03/2008, 09h16
  3. Réponses: 2
    Dernier message: 14/09/2007, 08h55
  4. Select d'une table dont le nom est dynamique
    Par newfsch dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/07/2007, 12h09
  5. Réponses: 17
    Dernier message: 03/10/2005, 11h16

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