Ne conserver que les n premiers caractères d'une chaine

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Ne conserver que les n premiers caractères d'une chaine

Olivier Auverlot
Bonjour à tous,

J'ai une petite question avec Pharo. Existe t'il une méthode pour ne conserver que les n premiers caractères d'une chaine ?

On peut faire ça avec une boucle mais il y a peut être moyen de le faire plus proprement.

Olivier ;-)
www.auverlot.fr
Reply | Threaded
Open this post in threaded view
|

Re: Ne conserver que les n premiers caractères d'une chaine

simondenier

On 16 juin 2011, at 22:16, Olivier Auverlot [via Smalltalk] wrote:

Bonjour à tous,

J'ai une petite question avec Pharo. Existe t'il une méthode pour ne conserver que les n premiers caractères d'une chaine ?

On peut faire ça avec une boucle mais il y a peut être moyen de le faire plus proprement.

'tototo' first: 3 

Ne pas oublier que les String sont des collections de caractères, donc toute l'API de Collection (SequenceableCollection, ArrayedCollection) est disponible.

Sinon le method finder peut aider (mais pas dans ce cas apparemment)


Olivier ;-)
www.auverlot.fr



If you reply to this email, your message will be added to the discussion below:
http://forum.world.st/Ne-conserver-que-les-n-premiers-caracteres-d-une-chaine-tp3603613p3603613.html
To start a new topic under Français (French), email [hidden email]
To unsubscribe from Français (French), click here.

--
Simon Denier



Reply | Threaded
Open this post in threaded view
|

Re: Ne conserver que les n premiers caractères d'une chaine

Alain Plantec
In reply to this post by Olivier Auverlot
Bonjour Olivier,

tu peux envoyer le message #first: à une chaîne de caractères

'AZERTY' first: 2    " retourne 'AZ' "


SequenceableCollection>>first: n
      "Answer the first n elements of the receiver.
      Raise an error if there are not enough elements."

      ^ self copyFrom: 1 to: n

Alain

Le 16/06/2011 22:18, Olivier Auverlot a écrit :

> Bonjour à tous,
>
> J'ai une petite question avec Pharo. Existe t'il une méthode pour ne
> conserver que les n premiers caractères d'une chaine ?
>
> On peut faire ça avec une boucle mais il y a peut être moyen de le
> faire plus proprement.
>
> Olivier ;-)
> www.auverlot.fr

Reply | Threaded
Open this post in threaded view
|

Re: Ne conserver que les n premiers caractères d'une chaine

Olivier Auverlot
Merci Alain. J'étais passé à coté ;-)

> Bonjour Olivier,
>
> tu peux envoyer le message #first: à une chaîne de caractères
>
> 'AZERTY' first: 2    " retourne 'AZ' "
>
>
> SequenceableCollection>>first: n
>      "Answer the first n elements of the receiver.
>      Raise an error if there are not enough elements."
>
>      ^ self copyFrom: 1 to: n
>
> Alain
>
> Le 16/06/2011 22:18, Olivier Auverlot a écrit :
>> Bonjour à tous,
>>
>> J'ai une petite question avec Pharo. Existe t'il une méthode pour ne
>> conserver que les n premiers caractères d'une chaine ?
>>
>> On peut faire ça avec une boucle mais il y a peut être moyen de le
>> faire plus proprement.
>>
>> Olivier ;-)
>> www.auverlot.fr
>

Reply | Threaded
Open this post in threaded view
|

Re: Ne conserver que les n premiers caractères d'une chaine

Damien Cassou
2011/6/17 Olivier Auverlot <[hidden email]>:
> Merci Alain. J'étais passé à coté ;-)

Dans ce genre de cas, le Finder est utile.

1- Ouvre le menu principal puis Tools puis Finder
2- Sélectionne 'Examples' dans la liste
3- Entre un exemple (entrée + sortie attendue) : 'AZERTY' . 2 . 'AZ'
4- Valide avec la touche ENTER

Tu dois obtenir des noms de méthodes qui font ce que tu veux.
Malheureusement, un bug
(http://code.google.com/p/pharo/issues/detail?id=4425) t'empêchera de
voir la méthode #first:. Tu trouveras par contre #contractTo: et
#truncateTo: qui font aussi ce que tu veux.

@+

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Lambdas are relegated to relative obscurity until Java makes them
popular by not having them." James Iry