2 つの部分文字列 ( ) の間にある文字列を見つけるにはどうすればよいですか'123STRINGabc' -> 'STRING'
?
私の現在の方法は次のとおりです。
>>> start = 'asdf=5;'
>>> end = '123jasd'
>>> s = 'asdf=5;iwantthis123jasd'
>>> print((s.split(start))[1].split(end)[0])
iwantthis
しかし、これは非常に非効率的で、Python らしくないようです。このようなことを行うより良い方法は何でしょうか?
言い忘れましたが、文字列は および で始まって 終わるとは限りませんstart
。end
前後にさらに文字がある可能性があります。
ベストアンサー1
import re
s = 'asdf=5;iwantthis123jasd'
result = re.search('asdf=5;(.*)123jasd', s)
print(result.group(1))
# returns 'iwantthis'