Regular expressions are powerful and probably the way here; but for something simple like this, string methods are OK too. Here's a short solution:
[s.strip() for s in s1.replace(',', ';').split(';')]
Test output:
>>> s1 = "billg@microsoft.com,steve@apple.com, dhh@37signals.com"
>>> s2 = " billg@microsoft.com;steve@apple.com; dhh@37signals.com "
>>> print [s.strip() for s in s1.replace(',', ';').split(';')]
['billg@microsoft.com', 'steve@apple.com', 'dhh@37signals.com']
>>> print [s.strip() for s in s2.replace(',', ';').split(';')]
['billg@microsoft.com', 'steve@apple.com', 'dhh@37signals.com']
source
share