python中带插入符号的字符串拆分

2024-10-03 06:19:06 发布

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

我有一个巨大的文本文件,每行都是这样的:

Some sort of general menu^a_sub_menu_title^^pagNumber

注意,第一个“通用菜单”有空格,第二部分(副标题)每个单词用“”字符分隔,最后是一个数字(pag编号)。我想把每一行分成3个部分(很明显),因为我想用python创建某种目录。在

我试着用re模块,但是由于插入字符在这样的模块中有很强的含义,所以我不知道该怎么做。在

有人能帮帮我吗????在


Tags: 模块oftitle菜单数字somesort字符
3条回答

如果只需要三个部分,则可以通过生成器表达式完成此操作:

line = 'Some sort of general menu^a_sub_menu_title^^pagNumber'
pieces = [x for x in line.split('^') if x]
# pieces => ['Some sort of general menu', 'a_sub_menu_title', 'pagNumber']
>>> "Some sort of general menu^a_sub_menu_title^^pagNumber".split("^")
['Some sort of general menu', 'a_sub_menu_title', '', 'pagNumber']

您需要做的是“转义”特殊字符,如r'\^'。但在这种情况下,比正则表达式更好的是:

line = "Some sort of general menu^a_sub_menu_title^^pagNumber"
(menu, title, dummy, page) = line.split('^')

这将以更直接的方式为您提供组件。在

相关问题 更多 >