特定の部分を抽出するために、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()