2016-11-04 65 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