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

如何将字母数字混合字符串的字母转对应数字并保留原有数字

混合字符串转换方案调整

核心修改点

原有代码仅处理了字母转序号的逻辑,缺少字符类型判断,只需在遍历字符时新增分支判断即可满足需求:

  • 遇到字母:转换为字母表对应1~26的序号后转字符串
  • 遇到数字:直接保留原字符

完整实现代码(Python)

def convert_mixed_str(raw_str):
    output_parts = []
    for char in raw_str:
        if char.isalpha():
            # 兼容大写字母可替换为:ord(char.lower()) - 96
            seq_num = ord(char) - 96
            output_parts.append(str(seq_num))
        elif char.isdigit():
            output_parts.append(char)
    return ''.join(output_parts)

# 整行数据处理逻辑
def process_full_line(line_text):
    line_items = line_text.split()
    # 仅替换第二列的混合字符串
    line_items[1] = convert_mixed_str(line_items[1])
    return ' '.join(line_items)

# 测试示例
test_input = [
    "0 newyork2510        2",
    "1 boston76w2         1",
    "2 chicago785dw       1",
    "3 san891dwn39210114  1",
    "4 f2391rpg           1"
]

for line in test_input:
    print(process_full_line(line))

结果验证

运行代码后第一行输出为0 14523251518112510 2,和预期结果完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:15:04