On Mon, 20 Oct 2008 13:16:48 +0200, Alfons Nonell-Canals wrote: > Hello, > I have a trouble and I don't know how to solve it. I am working with > molecules and each molecule has a number of atoms. I obtain each atom > spliting the molecule. > > Ok. It is fine and I have no problem with it. > > The problem is when I have to work with these atoms. These atoms usually > are only a letter but, sometimes it can also contain one o more numbers. > If they contein a number I have to manipulate them separately. > > If the number was allways the same I know how to identify them, for > example, 1: > > atom = 'C1' > > if '1' in atom: > print 'kk' > > But, how can I do to identify in '1' all possibilities from 1-9, I > tried: > > if '[1-9]', \d,... >
That's the job of regular expression: 'import re' numbered_atom = re.compile('[A-Z][a-z]?[0-9]+') if numbered_atom.match('C10'): # this is a numbered atom if numbered_atom.match('C'): # this WON'T match read more about regular expression on the web (hint: python share the same re syntax with many other languages, php, javascript, grep, etc) -- http://mail.python.org/mailman/listinfo/python-list