繁体   English   中英

根据一组字符在python中分割字符串

[英]Split a string in python based on a set of characters

我需要使用python根据某些字符集拆分字符串。 例如

String = "A==B AND B==C OR C!=A OR JP Bank==Chase"

我不想根据空间拆分字符串,因为JP和Chase将形成两个不同的单词。 因此,我需要基于==,!=,AND,OR进行拆分。 预期产量

[A,==,B,AND,B,==,C,OR,C,!=,A,OR,JP Bank,==,Chase]

在正则表达式中对捕获组使用re.split

import re
s = "A==B AND B==C OR C!=A OR JP Bank==Chase"
pat = re.compile(r'(==|!=|AND|OR)')
pat.split(s)

结果

['A', '==', 'B ', 'AND', ' B', '==', 'C ', 'OR', ' C', '!=', 'A ', 'OR', ' JP Bank', '==', 'Chase']

您可以尝试re.split函数。 (AND|OR|[!=]=)前后的\\s*也有助于删除空格。

>>> s = "A==B AND B==C OR C!=A OR JP Bank==Chase"
>>> re.split('\s*(AND|OR|[!=]=)\s*', s)
['A', '==', 'B', 'AND', 'B', '==', 'C', 'OR', 'C', '!=', 'A', 'OR', 'JP Bank', '==', 'Chase']

像这样?

import re

inStrint = "A==B AND B==C OR C!=A OR JP Bank==Chase"
outList = re.split( '(==|!=|OR|AND)', inString)
outList = map( lambda x: x.strip(), outList)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM