我正在尝试在 python 中拆分字符串以提取特定部分。我能够在符号之前获得字符串的一部分,<
但我如何获得之后的位?例如emailaddress
部分?
>>> s = 'texttexttextblahblah <emailaddress>'
>>> s = s[:s.find('<')]
>>> print s
上面的代码给出了输出texttexttextblahblah
s = s[s.find('<')+1:-1]
或者
s = s.split('<')[1][:-1]
对于这种情况,cha0site 和 ig0774 的答案非常简单,但它可能会帮助您在不那么简单的时候学习正则表达式。
import re
fullString = 'texttexttextblahblah <emailaddress>'
m = re.match(r'(\S+) <(\S+)>', fullString)
part1 = m.group(1)
part2 = m.group(2)
在这种情况下,使用正则表达式可能更明确一点并不是一个坏主意:
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()