这是一个示例输入:
(a1 b2 c3)
按'','(',')'拆分,这是所需的输出:
['(', 'a1', ' ', 'b2', ' ', 'c3', ')']
Python教学方法是什么?
答案 0 :(得分:3)
使用Python的regular expression module:
>>> import re
>>> re.split(r'(\w+)', '(a1 b2 c3)')
['(', 'a1', ' ', 'b2', ' ', 'c3', ')']
或者,在orokusaki的答案中使用findall
,但使用字符类(也将_
视为单词字符):
>>> re.findall(r'\W+|\w+', '(a1 b2 c3)')
['(', 'a1', ' ', 'b2', ' ', 'c3', ')']
或者,如果您想明确仅关注(
,,
)
:
>>> re.split(r'([^\(\) ]+)', '(a1 b2 c3)')
['(', 'a1', ' ', 'b2', ' ', 'c3', ')']
答案 1 :(得分:0)
>>> import re
>>> re.findall(r'[a-zA-Z0-9]+|[^a-zA-Z0-9]', '(a1 a2 a3)')
['(', 'a1', ' ', 'a2', ' ', 'a3', ')']