【问题标题】:How to split "['string1']['string2']['string3']"如何拆分“['string1']['string2']['string3']”
【发布时间】:2019-10-07 12:47:01
【问题描述】:

我有一个字符串“['string1']['string2']['string3']”。 预期结果将如下列表 ['string1', 'string2', 'string3']

mystr = "['string1']['string2']['string3']"
subl = mystr.split("['")
print(subl)
key_path = []
for i in subl:
    if i:
        key_path.append(i.strip("']"))

print(key_path)

但我想要一个正则表达式或内置函数来执行上述所有步骤并返回预期结果。

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    我喜欢在这里使用基于正则表达式的方法,因为它很干净。使用re.findall

    inp = "['string1']['string2']['string3']"
    parts = re.findall(r'\[\'(.*?)\'\]', inp)
    print(parts)
    

    打印出来:

    ['string1', 'string2', 'string3']
    

    【讨论】:

    • 这也适用于嵌套的 "[ ]" inp = "['string1']['string2']['string3 [0x91]']" parts = re.findall(r'[\ '(.*?)\']', inp) print(parts) 这打印:['string1', 'string2', 'string3']
    猜你喜欢
    • 2014-09-09
    • 2020-01-15
    • 2017-10-17
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多