【发布时间】:2020-01-08 18:23:12
【问题描述】:
我创建了用括号分割多行字符串并将他的部分附加到列表的函数。
示例:
example = '''{First,
{[string]}},
{[Second,
{[(string)]}]},
{Third string}'''
start = 0
results = []
count = 0
for i in range(len(example)):
if example[i] == '{':
if count == 0:
start = i
count -=1
if example[i] == '}':
count +=1
if count == 0:
results.append(example[start:i+1])
print(len(results))
print(results)
这个输出是(它是正确的,3个元素的列表):
3
['{First,\n {[string]}}', '{[Second,\n {[(string)]}]}', '{Third string}']
我的问题是,当我在字符串中的某处添加“额外”的左括号和右括号时:
example = '''{First,
{[s{tring]}},
{[Second,
{[(string)]}]},
{Third st}ring}'''
我的函数返回我(只有 1 个元素的列表):
1
['{First,\n {[s{tring]}},\n {[Second,\n {[(string)]}]},\n {Third st}ring}']
可以避免这种情况,只用大括号分割字符串吗?如果您不明白我的问题,请随时提问!
编辑:
我还想提一下,括号之间可以是字符、整数、逗号、点等任何内容。
【问题讨论】:
标签: python split multiline curly-braces