Replacing last comma in 'C1, C2, C3' with 'and' so that it reads'C1, C2 and C3'

Bengt Richter bokr at oz.net
Tue Jul 12 22:46:16 CEST 2005


On Wed, 13 Jul 2005 03:47:07 +0800, "Ric Da Force" <ric at next-level.com.au> wrote:

>Hi guys,
>
>Thank you all for your input!  It was good to see so much convergence in the 
>approach! Again, I think that it speaks loudly for the concise way of doing 
>thins in Python... Anyway, I have typed in all of the solutions and have 
>gained a great understanding of how to do this in future.
>
>Thanks again!
>
>Ric
>"Brian van den Broek" <bvande at po-box.mcgill.ca> wrote in message 
>news:mailman.1635.1121152323.10512.python-list at python.org...
>> Ric Da Force said unto the world upon 12/07/2005 02:43:
>>> Hi,
>>>
>>> I have a string such as 'C1, C2, C3'.   Without assuming that each bit of 
>>> text is of fixed size, what is the easiest way to change this list so 
>>> that it reads:
>>> 'C1, C2 and C3' regardless of the length of the string.
>>>
>>> Regards and sorry for the newbie question,
>>>
>>> Ric
>>
>> Hi Ric,
>>
>> the rsplit method of strings should get you going:
>>
>> >>> data = "the first bit, then the second, finally the third"
>> >>> chunks = data.rsplit(',', 1)
>> >>> chunks
>> ['the first bit, then the second', ' finally the third']
>> >>>
>>
>> Best,
>>
>> Brian vdB
>>
Or, to finish Brian's solution by inserting the ", and" in place of the "," :

 >>> data = "the first bit, then the second, finally the third"
 >>> ', and'.join(data.rsplit(',',1))
 'the first bit, then the second, and finally the third'
 >>> ', and'.join('C1, C2, C3'.rsplit(',',1))
 'C1, C2, and C3'

Regards,
Bengt Richter



More information about the Python-list mailing list