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

如何在Python中拆分字符串,仅编辑字母数字并重组

实现字符串拆分、修改字母数字部分后重组

需求说明

将字符串拆分为字母数字段与**非字母数字段(符号、空格等)**组成的列表,仅对字母数字段执行反转操作,最后重新拼接成完整字符串。例如:

  • 输入:An example, 200a, many-times...
  • 拆分后列表:['An', ' ', 'example', ', ', '200a', ', ', 'many', '-', 'times', '...']
  • 处理后结果:nA elpmaxe, a002, ynam-semit...

Python 实现代码

import re

def process_target_string(raw_str):
    # 拆分字符串:匹配连续字母数字,或连续非字母数字
    split_parts = re.findall(r'\w+|\W+', raw_str)
    # 遍历处理每个片段:反转字母数字项,其余保持原样
    processed_parts = [part[::-1] if part.isalnum() else part for part in split_parts]
    # 拼接为最终字符串
    return ''.join(processed_parts)

# 测试示例
test_input = "An example, 200a, many-times..."
final_result = process_target_string(test_input)
print(final_result)  # 输出: nA elpmaxe, a002, ynam-semit...

关键细节说明

  1. 拆分逻辑:re.findall(r'\w+|\W+', raw_str) 中,\w+ 匹配1个及以上字母/数字/下划线,\W+ 匹配1个及以上非字母数字字符,确保拆分后的列表严格交替两类片段。
  2. 排除下划线:如果不需要把下划线归为字母数字类,可将正则改为 r'[a-zA-Z0-9]+|[^a-zA-Z0-9]+',这样拆分时会单独提取下划线片段。
  3. 反转操作:利用 Python 字符串切片 [::-1] 快速实现反转,isalnum() 方法判断片段是否为纯字母数字。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 17:22:01