2016-11-04 8 views
-3

私が欲しいものを得るには?例えば、私はこのPythonでの正規表現操作

'RC00001 C00003_C00004RC00087 C00756_C01545RC01045 C06756_C03485' 

のような文字列を持っている私は

'RC00001 C00003_C00004','RC00087 C00756_C01545','RC01045 C06756_C03485' 

何をすべき取得したいですか?私は何度も試みましたが、失敗しました。私を助けてください!ありがとうございました!

+1

ようこそStackOverflow。あなたが試したことを示して、それがあなたの期待を満たしていない理由を説明してください。また、文字列を操作する基準を正確に説明してください。 RC###を削除しているようですね? – idjaw

答えて

3
answer=[] 
a="RC00001 C00003_C00004RC00087 C00756_C01545RC01045 C06756_C03485" 
b = a.split("RC") 
for i in b[1:]: 
    answer.append("RC%s" % (i)) 

print(answer) 

この意志出力:

['RC00001 C00003_C00004', 'RC00087 C00756_C01545', 'RC01045 C06756_C03485']

+0

ありがとうございます。私は試してみる。おかげさまで – yccai

1

あなたは、この使用して正規表現を実現したい場合は、以下の

import re 
input_str = 'RC00001 C00003_C00004RC00087 C00756_C01545RC01045 C06756_C03485' 
pattern = '(RC[\d+]+\s+C[\d]+_C[\d]+)' 
print(re.findall(pattern, input_str)) 
# output 
# [('RC00001 C00003_C00004', 'RC00087 C00756_C01545', 'RC01045 C06756_C03485')] 

形式を提供しようとすることができ、常にRC {数字}でありますC {numbers}

+0

やってみる。 – yccai