-1
我想将一个字符串拆分为括号内的几个部分,但引用的内容(可能包括括号)应被视为单个符号。例如,串括号内的正则表达式在引号内
(ID1, “你好简单”),(ID2, “你好\ n怪异(所有字符)Ä@”)
应分为两个部分
1) ID1, “你好简单的”
2)ID2, “你好\ n怪异(所有字符)Ä@”
我怎样才能做到这一点在Python?
我想将一个字符串拆分为括号内的几个部分,但引用的内容(可能包括括号)应被视为单个符号。例如,串括号内的正则表达式在引号内
(ID1, “你好简单”),(ID2, “你好\ n怪异(所有字符)Ä@”)
应分为两个部分
1) ID1, “你好简单的”
2)ID2, “你好\ n怪异(所有字符)Ä@”
我怎样才能做到这一点在Python?
如果你确实需要使用regex
,这个工作从您的文章中的当前字符串:
import re
pat = re.compile(r'\(([a-zA-Z0-9"\(\)\s]+)\)')
matches = re.findall(pat, '(Hello "(world)"), (2016)')
# ['Hello "(world)"', '2016']
然而,split
功能也可用于文本格式的可行的选择。如果所有的数据由一对括号包围,你可以这样做:
results = [x[1:-1] for x in '(Hello "(world)"), (2016)'.split(', ')]
# ['Hello "(world)"', '2016']
谢谢。看来我过分简化了这个问题。你能看看编辑过的问题吗?基本上,引号内的内容可以是任何符号,包括转义和unicode。逗号也可以出现在每个拆分部分内。 – Roz
聘请程序员 – stark
查找到Python的拆分[模块](https://docs.python.org/2/library/stdtypes。 html#str.rsplit) – TheGirrafish