ファイルがあり、パターン テキストは(1A0IA:0.42722,1AYLA:0.47152). と交換したい(1A0IA,1AYLA)。
私はこの方法でできることを知っています:
text文字列が含まれています(1A0IA:0.42722,1AYLA:0.47152)
expression 1 : reduced_text = re.sub(r':\d+\.\d+\,',r',',text)
output : (1A0IA,1AYLA:0.47152)
expression 2 : reduced_text = re.sub(r':\d+\.\d+\)',r')',reduced_text)
output : (1A0IA,1AYLA)
:float,正確には でのみパターンを置き換えたいのですが、この種の文字列ではなく、(ID:float,ID:float)を含むテキストがいくつか存在します: 。:float,(ID:float,ID:float)
次のようなことができる式はありますか?
(string1:0.42722,string2:0.47152) -> (string1,string2)
一つ目.{5}はstring 1; 2番目.{5}はstring 2
reduced_text = re.sub(r'\(.{5}:\d+\.\d+\,.{5}:\d+\.\d+\)',r'\(.{5}\,.{5}\)',text)