我有一个字符串
mystr = "My mail id is abcd1234@account.com and xzy1234@mailinglist.com"
index = mymail.find('@') #gives me index using which i can traverse further with the mail id
如何在@(即abcd1234和xzy1234)之前获得单词并在@(即account.com和mailinglist.com)之后使用单词而不使用list并仅使用find。
代表:
index = mymail.find('@')
res = mymail.find(' ',index)
mystr[index+1:res] gives me --> account.com
答案 0 :(得分:1)
您可以使用re.findall
功能,如下所示,
>>> s = 'My mail id is abcd1234@account.com and xzy1234@mailinglist.com'
要在@
之前得到这个词,
>>> re.findall(r'\S+(?=@)', s)
['abcd1234', 'xzy1234']
要在@
后面找到这个词,
>>> re.findall(r'(?<=@)\S+', s)
['account.com', 'mailinglist.com']
\S+
匹配一个或多个非空格字符。 (?=@)
正向前瞻声明匹配必须后跟@
符号。 (?<=@)
肯定的外观断言,匹配必须以@
符号开头。
答案 1 :(得分:1)
直接回答您的问题:
S.rfind(sub [,start [,end]]) -> int
rfind查找字符串中的“last”空格而不是第一个空格。