プロが教えるわが家の防犯対策術!

すいません教えて下さい。
以下のテキストがあります

【test.txt】
----------------------------------
A111A222A
----------------------------------

Aから1つ目のAまでの間を取得したい場合、どのようにしますか?

単純にAからAまでの間とすると
「111A222」が取得されてしまいます、、、orz
「111」を取得するにはどのようにすれば良いでしょうか?

ちなみに、言語は何でもokです。
(私はpythonでやってます)

A 回答 (1件)

正規表現なら、次のようにすればできます。



>>> r = re.compile("A([^A]*)") #最初の1文字がAで、2文字目以降はAではない文字
>>> m = r.search('A111A222A')
>>> m.group(0)
'A111'
>>> m.group(1)
'111'

区切り文字が'A'に決まっているなら、正規表現にこだわらず、splitでやった方が早い気はします。

>>> s='A111A222A'
>>> s.split('A')
['', '111', '222', '']
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!