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