0

我正在尝试在 python 中拆分字符串以提取特定部分。我能够在符号之前获得字符串的一部分,<但我如何获得之后的位?例如emailaddress部分?

 >>> s = 'texttexttextblahblah <emailaddress>'
 >>> s = s[:s.find('<')]
 >>> print s

上面的代码给出了输出texttexttextblahblah 

4

3 回答 3

3
s = s[s.find('<')+1:-1]

或者

s = s.split('<')[1][:-1]
于 2013-01-31T16:51:26.887 回答
1

对于这种情况,cha0site 和 ig0774 的答案非常简单,但它可能会帮助您在不那么简单的时候学习正则表达式。

import re
fullString = 'texttexttextblahblah <emailaddress>'
m = re.match(r'(\S+) <(\S+)>', fullString)
part1 = m.group(1)
part2 = m.group(2)
于 2013-01-31T16:55:52.710 回答
0

在这种情况下,使用正则表达式可能更明确一点并不是一个坏主意:

import re
match = re.search("""
    (?<=<)  # Make sure the match starts after a <
    [^<>]*  # Match any number of characters except angle brackets""", 
    subject, re.VERBOSE)
if match:
    result = match.group()
于 2013-01-31T16:55:00.077 回答