gpt4 book ai didi

python - 需要帮助为我的字符串模式找到正确的正则表达式模式

转载 作者:太空宇宙 更新时间:2023-11-03 16:28:14 24 4
gpt4 key购买 nike

我对正则表达式模式很糟糕,我正在编写一个简单的Python程序,需要将文件的行分割成“内容”部分和“标签”部分,然后进一步将标签部分分割成单独的标签。下面是我的文件中的一行的简单示例:

The Beatles <music,rock,60s,70s>

我已经打开我的文件并开始阅读如下行:

def Load(self, filename):
file = open(filename, r)

for line in file:
#Ignore comments and empty lines..
if not line.startswith('#') and not line.strip():
#...

请原谅我的 Python 可能很糟糕,这是我接触这门语言的头几天。无论如何,接下来我想使用正则表达式将字符串分成几个部分会很有用 - 使用一个变量来存储“内容”(例如“The Beatles”),以及一个列表/集来存储每个标签。因此,我需要一个(或两个?)正则表达式,它可以:

  • 将原始部分与 <> 部分分开。

  • 并根据逗号将标签部分拆分为列表。

  • 最后,我想确保内容部分保留其大写和内部间距。但我想确保标签全部小写且没有空格。

我想知道是否有正则表达式专家可以帮助我找到正确的模式来实现我的目标?

最佳答案

这是一个无需依赖多个拆分即可解决问题的解决方案。

# This separates the string into the content and the remainder
content, tagStr = line.split('<')

# This splits the tagStr into individual tags. [:-1] is used to remove trailing '>'
tags = tagStr[:-1].split(',')

print content
print tags

这样做的问题是它在内容后面留下了尾随空白。您可以通过以下方式删除它:

content = content[:-1]

关于python - 需要帮助为我的字符串模式找到正确的正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37824917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com