我有一个看起来像这样的字符串:
"(98119,m1) (229260,m1) (15652,m2)"
以上可以是任意数量的元素(在我的例子中只有3个)
我想返回一个看起来像这样的字符串
"98119 229260 15652"
我可以使用字符串拆分,但这将是太多的代码。我正在寻找正则表达式,但正则表达式并不是我擅长的东西。谁能建议怎么做?
答案 0 :(得分:4)
您可以使用re.findall
和str.join
:
>>> from re import findall
>>> mystr = "(98119,m1) (229260,m1) (15652,m2)"
>>> ' '.join(findall('\(([^,]+),', mystr))
'98119 229260 15652'
>>>
以下是上面使用的正则表达式模式匹配的细分:
\( # (
( # The start of a capture group
[^,]+ # One or more characters that are not ,
) # The close of the capture group
, # ,