如何在Python中将电子邮件地址/密码字符串拆分为两个?

时间:2009-01-12 18:12:30

标签: python parsing split

假设我们有这个字符串:[18] email@email.com:pwd:

email@email.com是电子邮件,pwd是密码。

另外,假设我们有一个值为

的变量
f = "[18] email@email.com:pwd:"

我想知道是否有办法生成另外两个名为var1var2的变量,其中var1变量将从变量{{1}获取确切的电子邮件信息来自f的确切密码信息和var2。{/ p>

运行应用程序后的结果应该是:

var2

var1 = "email@email.com"

4 个答案:

答案 0 :(得分:9)

>>> var1, var2, _ = "[18] email@email.com:pwd:"[5:].split(":")
>>> var1, var2
('email@email.com', 'pwd')

或者如果“[18]”不是固定的前缀:

>>> var1, var2, _ = "[18] email@email.com:pwd:".split("] ")[1].split(":")
>>> var1, var2
('email@email.com', 'pwd')

答案 1 :(得分:7)

import re
var1, var2 = re.findall(r'\s(.*?):(.*):', f)[0]

如果findall()[0]感觉前进了两步,后退了一步:

var1, var2 = re.search(r'\s(.*?):(.*):', f).groups()

答案 2 :(得分:5)

var1, var2 = re.split(r'[ :]', f)[1:3]

答案 3 :(得分:1)

要拆分第一个冒号“:”,您可以执行以下操作:

# keep all after last space
f1= f.rpartition(" ")[2]
var1, _, var2= f1.partition(":")