Skip to main content
 首页 » 编程设计

Python之用逗号分隔跳过括号内的内容

2025年05月04日30insus

我需要用逗号分隔字符串,但我遇到了这种情况的问题:

TEXT EXAMPLE (THIS IS (A EXAMPLE, BUT NOT WORKS, FOR ME)), SECOND , THIRD 

我想拆分得到:

var[0] = "TEXT EXAMPLE (THIS IS (A EXAMPLE, BUT NOT WORKS, FOR ME))" 
var[1] = "SECOND" 
var[2] = "THIRD" 

谢谢

请您参考如下方法:

这是适用于您的示例的非常简单的解析器方法:

def top_level_split(s): 
    """ 
    Split `s` by top-level commas only. Commas within parentheses are ignored. 
    """ 
 
    # Parse the string tracking whether the current character is within 
    # parentheses. 
    balance = 0 
    parts = [] 
    part = '' 
 
    for c in s: 
        part += c 
        if c == '(': 
            balance += 1 
        elif c == ')': 
            balance -= 1 
        elif c == ',' and balance == 0: 
            parts.append(part[:-1].strip()) 
            part = '' 
 
    # Capture last part 
    if len(part): 
        parts.append(part.strip()) 
 
    return parts 
 
my_list = top_level_split("TEXT EXAMPLE (THIS IS (A EXAMPLE, BUT NOT WORKS, FOR ME)), SECOND , THIRD") 
print(my_list)