引号

时间:2016-08-05 12:58:42

标签: python

我想将一个字符串拆分成括号中的几个部分,但引用的内容(可能包括括号)应该被视为单个符号。例如,字符串

(id1,“Hello simple”),(id2,“你好\ n奇怪(所有字符)Ä@”)

应分为两部分

1)id1,“Hello simple”

2)id2,“你好\ n奇怪(所有字符)Ä@”

我怎样才能在Python中执行此操作?

1 个答案:

答案 0 :(得分:0)

如果您确实需要使用regex,则可以使用帖子中的当前字符串:

import re
pat = re.compile(r'\(([a-zA-Z0-9"\(\)\s]+)\)')
matches = re.findall(pat, '(Hello "(world)"), (2016)')
# ['Hello "(world)"', '2016']

但是,split函数也可能是文本格式的可行选项。如果所有数据都被一对parantheses包围,您可以这样做:

results = [x[1:-1] for x in '(Hello "(world)"), (2016)'.split(', ')]
# ['Hello "(world)"', '2016']