You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在元音或空格后拆分字符串并将结果追加到Python数组?

问题原因

原代码的错误点主要有三个:

  • 每遍历1个字符就直接向结果数组追加内容,没有按规则拼接成完整拆分片段再添加,导致输出数组长度远超预期
  • 没有处理空格的拆分逻辑,也没有过滤输出中的空格
  • 仅存储单个非元音/元音字符,没有拼接连续的非元音字符

修正实现

text = input("Please enter text : ")
vowel = ["a", "e", "i", "o", "u"]
final_string = []
current = ""

for char in text:
    # 空格触发拆分,且空格不加入结果
    if char == " ":
        if current:
            final_string.append(current)
            current = ""
        continue
    # 字符加入当前待拼接片段
    current += char
    # 元音触发拆分
    if char in vowel:
        final_string.append(current)
        current = ""

# 兼容字符串末尾不是元音/空格的场景,不需要可以删除
if current:
    final_string.append(current)

print(final_string)

输入a mambo jambo时输出为['a', 'ma', 'mbo', 'ja', 'mbo'],符合预期。

正则简化版本

使用正则匹配可以更简洁的实现需求:

import re
text = input("Please enter text : ")
final_string = re.findall(r'[^aeiou\s]*[aeiou]', text)
print(final_string)

内容的提问来源于stack exchange,提问作者Isaya Exavery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:57:02