0

私はこのタイプの文字列を持っています:

s = "//name#1  un2 //name2#1  u13 //name3#3"

これらの文字列の配列を取得するにはどうすればよいですか?

s1 [] = "//name, //name2, name3"
s2 [] = "1, 2, 3"
4

2 に答える 2

2

これは、1つの正規表現だけでそれを行います。

>>> s = "//name#1  un2 //name2#1  u13 //name3#3"
>>> import re
>>> x = re.findall(r"(\S+)#(\S+)", s)
>>> [s1, s2] = [', '.join(y) for y in zip(*x)]
>>> s1
'//name, //name2, //name3'
>>> s2
'1, 1, 3'
于 2012-04-19T18:55:33.770 に答える
0

おそらくあなたは探しています

>>> s1=", ".join(re.findall("(//.*?)#\d+",s))
>>> s2=", ".join(re.findall("#(\d+)",s))
>>> s1
'//name, //name2, //name3'
>>> s2
'1, 1, 3'
>>> 
于 2012-04-19T19:02:34.453 に答える