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

如何按条件移除字符串字符?求补全Python后续步骤代码

按条件移除字符串字符的Python实现方案

需求概述

需要对字符串依次完成以下三步处理:

  • 移除所有元音(包含大小写的a/e/i/o/u)
  • 移除重复的辅音,仅保留每个辅音的首次出现
  • 若字符串以指定字母开头或结尾,则移除对应的首尾字符

示例演示

原单词:Transmuted

  1. 移除元音后结果:Trnsmtd
  2. 移除重复辅音后结果:Trnsmd
  3. 移除指定首尾字符(以t/T开头或d/D结尾时移除)后结果:rnsm

完整实现代码

string = "Transmuted"
vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'}

# 步骤01:移除元音
step1_result = ""
for char in string:
    if char not in vowels:
        step1_result += char
print("移除元音后:", step1_result)

# 步骤02:移除重复辅音,保留首次出现
seen_consonants = set()
step2_result = ""
for char in step1_result:
    if char not in seen_consonants:
        seen_consonants.add(char)
        step2_result += char
print("移除重复辅音后:", step2_result)

# 步骤03:移除指定首尾字符(此处设置为开头是t/T、结尾是d/D时移除)
target_start = {'t', 'T'}
target_end = {'d', 'D'}
step3_result = step2_result

# 先检查开头,符合条件则截去首字符
if step3_result and step3_result[0] in target_start:
    step3_result = step3_result[1:]
# 再检查结尾,符合条件则截去尾字符
if step3_result and step3_result[-1] in target_end:
    step3_result = step3_result[:-1]

print("最终处理结果:", step3_result)

代码说明

  • 步骤01:用集合存储元音(集合的成员查找效率比列表更高),遍历原字符串逐个判断,只把非元音字符拼接成新字符串。
  • 步骤02:用一个集合记录已经出现过的辅音,遍历步骤1的结果,每个字符只在未出现过时才添加到结果里,保证每个辅音只保留第一次出现的版本。
  • 步骤03:先定义需要触发移除操作的首尾字符集合,先判断字符串非空(避免索引越界),再检查开头和结尾是否符合条件,符合则截取对应的子串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:05:21