RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Découper une chaîne en sous-chaînes...

Forum : RUBY
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ RUBY

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM RUBY

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
t5in9tao
Nouveau membre
Avatar de t5in9tao
Inscrit : 24/01/2007
Messages : 7
Message
#122156
Posté le 27/01/07 à 00:04
Bonsoir,


Aurriez-vous une idée pour découper en plusieurs blocs fixes une chaîne dont le nombre de caractères est variable ?


Voci un exemple :

# Cette variable contient 33 caractères
string = "DKZksi2kz2l20SKD?Z922?DS82ND2?D92"


J'aurais besoin de la découper. En supposant que je veuille la découper en blocs de 16 caractères, voici le résultat que je voudrais obtenir :

>>puts tab[0]
=>DKZksi2kz2l20SKD
>>puts tab[1]
=>?Z922?DS82ND2?D9
>>puts tab[2]
=>2

Ceci dit, la difficulté réside dans le fait que le nombre de caractères de string peut varier (selon l'utilisation du script) et donc, par conséquent, le nombre de blocs peut varier aussi.

Merci pour votre aide.
__________________________
H!p-Shot?

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

bul
Membre du club
Avatar de bul
Inscrit : 26/01/2004
Messages : 949
Message
#122190
Posté le 27/01/07 à 11:06
bonjour,
et qu'est-ce qui t'ennuie ?
l'instruction pour "découper" ?
l'algoritme découper en groupes de 16 caractères ?
tu as fais un début de quelque chose ?
Cordialement.
__________________________
~ mon site ~ m'écrire ~
Laissez une adresse Mail où vous écrire, en évitant les spams
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

t5in9tao
Nouveau membre
Avatar de t5in9tao
Inscrit : 24/01/2007
Messages : 7
Message
#122210
Posté le 27/01/07 à 12:30
En fait ce qui m'ennuie c'est que je suis très débutant Smiley
Pour ce qui est de l'instruction "découper", je ne la connais pas.

Mon but est justement d'avoir un algorithme permettant de découper en groupes de 16 caractères. C'est à dire que je souaite diviser une chaîne (quelconque) en x nombre de bloc de y taille (où x et y sont à définir en paramètre dans le programme).

Pour le moment, les seules choses que j'ai tentées se sont soldées par un échecs ridicule Smiley
__________________________
H!p-Shot?

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

bul
Membre du club
Avatar de bul
Inscrit : 26/01/2004
Messages : 949
Message
#122211
Posté le 27/01/07 à 12:44
>>échecs ridicules
n'est ridicule que celui qui n'essaye pas
tout le monde est passé par là, même
si certains ne se souviennent plus
.

ça ne servirait à rien que l'on te fasse ça "tout cuit"
par contre on peut t'aider à faire...

pour l'instruction : dans la doc ( tu en as une ? laquelle ?
sinon, procures-t'en une... dis nous si tu ne trouves pas )
et regardes ce qu'on peut faire avec les "string"

pour l'algo : une boucle ( les différentes possibilités sont aussi
dans les docs ), tant que l'adresse du dernier caractère traité ne
dépasse pas la taille du texte à découper ( par exemple ! )

il y a probablement 56982 manières de faire, la meilleure
sera la tienne, et tous les intervenants ici sont prêts à aider.

commences à faire un petit truc, et dis nous.

Cordialement.
__________________________
~ mon site ~ m'écrire ~
Laissez une adresse Mail où vous écrire, en évitant les spams
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

t5in9tao
Nouveau membre
Avatar de t5in9tao
Inscrit : 24/01/2007
Messages : 7
Message
#122221
Posté le 27/01/07 à 13:38
Voici le code qui me rapproche le plus du résultat :


String = "123456789ABCDEFGHIJK" Bloc = 3 cpt = 0 ((String.length)/Bloc).times do puts String[(cpt*Bloc)..((cpt+1)*Bloc)] cpt = cpt + 1 end


Ruby dit :
1234
4567
789A
ABCD
DEFG
GHIJ


Comme on peut le voir, le problème c'est qu'à chaque nouveau bloc, un caractère du bloc précédent est ajouté.

> il y a probablement 56982 manières de faire
J'en suis bien conscient.

> la meilleure sera la tienne
Ah, là c pas sûr... :)

Pour les docs que j'utilise, les voici :
- http://www.ruby-doc.org/docs/beginner-fr/xhtml/
- http://www.siteduzero.com/tuto-3-2771-0-extraction-du-ruby.html
- http://fr-draft.poignantguide.net/
__________________________
H!p-Shot?

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

bul
Membre du club
Avatar de bul
Inscrit : 26/01/2004
Messages : 949
Message
#122240
Posté le 27/01/07 à 15:21
un début de réponse...


texte="abcdefghijklmnopqrstuvwxyz" longueur=4 debut=0 print texte[debut,longueur],"\r\n" debut=debut+longueur print texte[debut,longueur],"\r\n" ...

"\r\n" pour passer à la ligne.


si tu comprends, et il n'y a pas de raison,
"il suffit" de mettre une boucle.
tu n'es pas si loin que ça de résoudre finalement.
__________________________
~ mon site ~ m'écrire ~
Laissez une adresse Mail où vous écrire, en évitant les spams
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM RUBY



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.