2024-04-23 14:20:25 发布
网友
我最初的问题是我需要剥离一个字符串,然后由一个运算符拆分。在
s = " a & b | c & d " l = map(lambda x : map(lambda x:x.strip() , x.strip().split('&')), s.strip().split('|'))
这对人们来说太麻烦了,所以我考虑使用decorator来做这个strip()预处理。在
这是我目前的解决方案,但不起作用!在
我不得不承认,我不完全理解你为什么需要一个装修工。在
标记这些表达式的一种相对简单的方法是使用正则表达式:
In [12]: re.findall(r'[^|&\s]+|&|[|]', ' a & b | c & d ') Out[12]: ['a', '&', 'b', '|', 'c', '&', 'd'] In [13]: re.findall(r'[^|&\s]+|&|[|]', 'asdasd&sdasd| asdsa & asdsda') Out[13]: ['asdasd', '&', 'sdasd', '|', 'asdsa', '&', 'asdsda']
regex由三个组件或ed组成:
[^|&\s]+
&
|
[|]
如果不需要捕获运算符,可以将正则表达式简化为r'[^|&\s]+'。在
r'[^|&\s]+'
编辑:如果您不想像您在注释中所暗示的那样分割空格,则以下操作应该有效:
我不得不承认,我不完全理解你为什么需要一个装修工。在
标记这些表达式的一种相对简单的方法是使用正则表达式:
regex由三个组件或ed组成:
[^|&\s]+
匹配&
、|
和空格以外的字符序列。在&
匹配&
。在[|]
匹配|
。在如果不需要捕获运算符,可以将正则表达式简化为
r'[^|&\s]+'
。在编辑:如果您不想像您在注释中所暗示的那样分割空格,则以下操作应该有效:
^{pr2}$相关问题 更多 >
编程相关推荐