Python从fi中提取部分数据

2024-10-01 04:59:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的数据

{sdfsdfsdfsdfsdf}{sdfsdfsdfsfsdfsdf}{dfsdfsdfsdfsdfsf}{dfsdfsdfsfsdfsd}

我想要一个和平的代码,可以把它变成这样

{sdfsdfsdfsdfsdf}
{sdfsdfsdfsfsdfsdf}
{dfsdfsdfsdfsdfsf}
{dfsdfsdfsfsdfsd}

任何帮助都将不胜感激谢谢


Tags: 数据代码sdfsdfsdfsdfsdfdfsdfsdfsfsdfsddfsdfsdfsdfsdfsfsdfsdfsdfsfsdfsdf
1条回答
网友
1楼 · 发布于 2024-10-01 04:59:51

您可以在}上拆分,并将其添加回从最后}切下的每个拆分行,或者使用re.findall将花括号与中间的任何内容匹配:

lines = """{sdfsdfsdfsdfsdf}{sdfsdfsdfsfsdfsdf}{dfsdfsdfsdfsdfsf}{dfsdfsdfsfsdfsd}"""

print("\n".join([line+"}" for line in lines.split("}")][:-1]))

{sdfsdfsdfsdfsdf}
{sdfsdfsdfsfsdfsdf}
{dfsdfsdfsdfsdfsf}
{dfsdfsdfsfsdfsd}

import  re

print("\n".join(re.findall("(\{.*?\})",lines)))

{sdfsdfsdfsdfsdf}
{sdfsdfsdfsfsdfsdf}
{dfsdfsdfsdfsdfsf}
{dfsdfsdfsfsdfsd}

从文件:

    with open("foo.txt") as f:
        for line in f:
             print("\n".join(re.findall("(\{.*?\})",line)))

相关问题 更多 >