2

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

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

另外,假设我们有一个带有值的变量

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

我想知道是否有办法将另外两个变量命名为var1var2,其中该var1变量将从变量中获取确切的电子邮件信息,fvar2从 中获取确切的密码信息var2

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

var1 = "email@email.com"

var2 = "pwd"
4

4 回答 4

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')
于 2009-01-12T18:15:58.470 回答
7
import re
var1, var2 = re.findall(r'\s(.*?):(.*):', f)[0]

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

var1, var2 = re.search(r'\s(.*?):(.*):', f).groups()
于 2009-01-12T18:16:08.203 回答
5
var1, var2 = re.split(r'[ :]', f)[1:3]
于 2009-01-12T18:25:37.997 回答
1

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

# keep all after last space
f1= f.rpartition(" ")[2]
var1, _, var2= f1.partition(":")
于 2009-01-14T13:30:00.903 回答