首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中根据一组字符拆分字符串

在python中根据一组字符拆分字符串
EN

Stack Overflow用户
提问于 2015-04-08 16:24:44
回答 3查看 113关注 0票数 0

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

代码语言:javascript
运行
复制
String = "A==B AND B==C OR C!=A OR JP Bank==Chase"

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

代码语言:javascript
运行
复制
[A,==,B,AND,B,==,C,OR,C,!=,A,OR,JP Bank,==,Chase]
EN

回答 3

Stack Overflow用户

发布于 2015-04-08 16:37:27

将与正则表达式中的捕获组一起使用。

代码语言:javascript
运行
复制
import re
s = "A==B AND B==C OR C!=A OR JP Bank==Chase"
pat = re.compile(r'(==|!=|AND|OR)')
pat.split(s)

结果

代码语言:javascript
运行
复制
['A', '==', 'B ', 'AND', ' B', '==', 'C ', 'OR', ' C', '!=', 'A ', 'OR', ' JP Bank', '==', 'Chase']
票数 3
EN

Stack Overflow用户

发布于 2015-04-08 16:41:27

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

代码语言:javascript
运行
复制
>>> 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']
票数 2
EN

Stack Overflow用户

发布于 2015-04-08 16:51:19

是像这样吗?

代码语言:javascript
运行
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29509512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档