当前位置:  开发笔记 > 编程语言 > 正文

Python切片 - 除括号内的所有内容外

如何解决《Python切片-除括号内的所有内容外》经验,为你挑选了1个好方法。

我正在编写的这个程序收到一串不同大小的字符串和不同数量的括号,这些括号内容有不同大小的字符.
例如:wysextplwqpvipxdv [srzvtwbfzqtspxnethm] syqbzgtboxxzpwr
我希望能够将此字符串切片到包含不在括号中的所有部分的字符串的列表中. 例如:

list[0] = wysextplwqpvipxdv  
list[1] =syqbzgtboxxzpwr    

我知道string.slice并且我已经读过这个:解释Python的切片符号
然而我在思考将其放入代码的方式时遇到了麻烦.
挑战是不知道有多少括号,还能够将字符串剪切到列表中.



1> Jean-Françoi..:

re.split你的括号(非贪婪)的正则表达式:

import re

s = "wysextplwqpvipxdv[srzvtwbfzqtspxnethm]syqbzgtboxxzpwr"

toks = re.split("\[.*?\]",s)

print(toks)

结果:

['wysextplwqpvipxdv', 'syqbzgtboxxzpwr']

警告:如果括号嵌套,则不起作用.pyparsing在这种情况下,您必须使用更复杂的解析器.

编辑:在这种情况下,可以使用正则表达式进行嵌套管理,因为我们只考虑括号外的级别.正则表达式的一个新答案是将所有文本放在括号之外.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有