gpt4 book ai didi

Python:如何将一个字符串分成多个字符串

转载 作者:太空宇宙 更新时间:2023-11-04 07:38:17 25 4
gpt4 key购买 nike

给定一个字符串:

str = "apple AND orange OR banana"

我想用“AND”或“OR”拆分它。预期的结果是

['apple', 'orange', 'banana']

python有什么简单的方法可以做到吗?

谢谢!

最佳答案

您可以使用正则表达式根据大写字母与 len 1 或更多的任意组合进行拆分:

>>> tr = "apple AND orange OR banana"
>>> re.split(r'[A-Z]+',tr)
['apple ', ' orange ', ' banana']

但是如果你只想用 ANDOR 拆分:

>>> re.split(r'AND|OR',tr)
['apple ', ' orange ', ' banana']

如果你确定你的句子包含不同的词,你可以删除空格:

>>> re.split(r'[A-Z ]+',tr)
['apple', 'orange', 'banana']

如果您在字符串的前导或尾部有一个 ANDOR 使用 split 将在结果中创建一个空字符串,为了得到它,您可以循环拆分列表并检查项目的有效性,但作为一种更优雅的方式,您可以使用 re.findall :以 r'[^A-Z ]+' 作为模式:

>>> tr = "AND apple AND orangeOR banana"
>>> re.split(r'\s?(?:AND|OR)\s?',tr)
['', 'apple', 'orange', 'banana']
>>> re.split(r'[A-Z ]+',tr)
['', 'apple', 'orange', 'banana']
>>> [i for i in re.split(r'[A-Z ]+',tr) if i]
['apple', 'orange', 'banana']
>>> re.findall(r'[^A-Z ]+',tr)
['apple', 'orange', 'banana']

关于Python:如何将一个字符串分成多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29130823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com