3

我有一个由几个段组成的字符串,这些段没有分开,但没有重叠。这看起来像这样:

<python><regex><split>

我想分成:

<python>, <regex>, <split>

我正在寻找最有效的方法来做到这一点,同时尽可能少的代码。我可以将 '>' 更改为 '>' 等,但我不想做任何多余的操作。是否可以使用正则表达式来做到这一点?

4

3 回答 3

7

尝试re.findall

import re
your_string = '<python><regex><split>'
parts = re.findall(r'<.+?>', your_string)  
print parts # ['<python>', '<regex>', '<split>']
于 2012-06-25T11:41:39.917 回答
2
>>> re.sub(r'<(.+?)>',r'<\1>,','<python><regex><split>')[:-1]
'<python>,<regex>,<split>'
于 2012-06-25T11:52:25.727 回答
1

如果您的输入数据真的那么简单,您可以使用.replace()内置在字符串中的方法。

>>> '<python><regex><split>'.replace('><', '>, <')
'<python>, <regex>, <split>'

如果它更复杂,您应该给出一个更好的输入/预期输出示例。

于 2012-06-25T11:38:42.340 回答