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 に答える