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

如何优雅实现移除字符串中所有英文字母,保留数字及各类符号

字符串移除所有英文字母的实现方案

核心逻辑是通过正则表达式批量匹配所有大小写英文字母,直接替换为空即可实现需求,无需多次调用REPLACE函数,单语句即可完成,会自动保留所有非英文字母的字符(数字、符号等均不受影响)。

不同场景实现示例

1. Python 实现

import re

def remove_letters(s: str) -> str:
    return re.sub(r'[a-zA-Z]', '', s)

测试效果:

  • 输入 'AA123A' → 输出 '123'
  • 输入 'AB-123-CD%' → 输出 '-123-%'

2. JavaScript 实现

function removeLetters(str) {
    // 加g修饰符开启全局匹配,避免只替换第一个匹配到的字母
    return str.replace(/[a-zA-Z]/g, '');
}

3. SQL 实现

支持正则的数据库(MySQL 8.0+、PostgreSQL、Oracle等)可直接调用正则替换函数:

SELECT REGEXP_REPLACE(待处理字段名, '[a-zA-Z]', '') AS 处理后字段 FROM 表名;

不支持正则的旧版MySQL可以用TRANSLATE函数简化实现,无需嵌套26层REPLACE:

SELECT TRANSLATE(待处理字段名, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') AS 处理后字段 FROM 表名;

如果仅需移除大写或者小写英文字母,调整正则匹配范围即可,比如只移除大写用[A-Z]、只移除小写用[a-z]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:12:03