Amb*_*sio 3 python string list
我正在从配置文件中读取电子邮件地址列表.地址可以用逗号或分号分隔 - 例如,
billg@microsoft.com,steve@apple.com, dhh@37signals.com
billg@microsoft.com;steve@apple.com; dhh@37signals.com
Run Code Online (Sandbox Code Playgroud)
我想摆脱电子邮件地址周围的任何空白.
我需要将它们放入这样的Python列表中:
['billg@microsoft.com', 'steve@apple.com', 'dhh@37signals.com']
Run Code Online (Sandbox Code Playgroud)
什么是最恐怖的方式呢?谢谢.
Rom*_*net 10
在这种情况下,我会使用re模块
>>> import re
>>>
>>> data = "billg@microsoft.com;steve@apple.com; dhh@37signals.com"
>>> stuff = re.split(r"\s*[,;]\s*", data.strip())
Run Code Online (Sandbox Code Playgroud)
正则表达式是强大的,可能是去这里的方式; 但对于像这样简单的事情,字符串方法也可以.这是一个简洁的解决方案:
[s.strip() for s in s1.replace(',', ';').split(';')]
Run Code Online (Sandbox Code Playgroud)
测试输出:
>>> 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']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6158 次 |
| 最近记录: |