在python中基于一组字符拆分字符串

2024-04-26 20:41:37 发布

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

我需要使用python根据一组字符分割一个字符串。 例如

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

我不想基于空格分割字符串,因为JP和Chase将形成两个不同的单词。 所以,我需要根据==,!=、和或。 预期产量

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

Tags: orand字符串string字符单词bank空格
3条回答

像这样?你知道吗

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)

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

>>> 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
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']

相关问题 更多 >