在Python中用插入符号分割字符串
我有一个很大的文本文件,每一行看起来像这样:
某种通用菜单^一个子菜单标题^^页码
注意,第一部分的“通用菜单”有空格,第二部分(子标题)每个单词之间用“_”字符分隔,最后是一个数字(页码)。我想把每一行分成三个明显的部分,因为我想在Python中创建某种目录。
我尝试使用re模块,但由于“^”这个符号在这个模块中有特殊的含义,我搞不清楚该怎么做。
有人能帮帮我吗??
5 个回答
0
你需要做的是“转义”特殊字符,比如 r'\^'
。不过在这种情况下,使用下面的方式会比正则表达式更好:
line = "Some sort of general menu^a_sub_menu_title^^pagNumber"
(menu, title, dummy, page) = line.split('^')
这样可以更简单明了地得到你想要的部分。
2
如果你只想要三个元素,可以通过生成器表达式来实现:
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']
4
在编程中,有时候我们会遇到一些问题,想要找到解决办法。比如,假设你在写代码时,遇到了一个错误,或者某个功能没有按预期工作。这时,你可能会去网上搜索相关的信息,看看别人是怎么解决类似问题的。
StackOverflow就是一个这样的地方,程序员们可以在这里提问和回答问题。你可以把它想象成一个大型的问答社区,专门为编程相关的问题提供帮助。在这里,你可以找到很多有经验的程序员分享的解决方案和技巧。
当你在StackOverflow上提问时,记得描述清楚你的问题,提供相关的代码和错误信息,这样其他人才能更好地理解你的困境,并给出有效的建议。
总之,StackOverflow是一个非常有用的资源,帮助你解决编程中遇到的各种问题。
>>> "Some sort of general menu^a_sub_menu_title^^pagNumber".split("^")
['Some sort of general menu', 'a_sub_menu_title', '', 'pagNumber']