在数据处理和文本清洗过程中,我们常常遇到需要把字符串里某些特定字符去掉的情况。用正则表达式可以精准定位并删除这些字符,比逐个判断更高效。下面先看一个基础示例图。

正则表达式删除字符的基本原理
正则表达式通过模式匹配找到目标字符,再借助字符串的替换函数将其替换为空字符串,从而实现删除。核心在于写好匹配规则,避免误删其他内容。
常见匹配写法
- 删除某几个固定字符:用方括号列出,如
[abc]表示 a、b 或 c。 - 删除一类字符:如
d匹配数字,s匹配空白。 - 删除特殊符号:需要转义,如
.匹配小数点。
不同语言中的实现
JavaScript 示例
使用 replace 方法,传入正则和空串:
// 删除字符串中所有的数字 var str = '订单号12345已发货'; var result = str.replace(/d/g, ''); console.log(result); // 输出:订单号已发货
Python 示例
通过 re 模块的 sub 函数完成:
import re # 删除所有标点符号(这里以逗号和句号为例) text = '你好,世界。今天天气不错。' clean = re.sub(r'[,。]', '', text) print(clean) # 输出:你好世界今天天气不错
Java 示例
利用 String 的 replaceAll:
public class Main {
public static void main(String[] args) {
// 删除所有空白字符
String s = "a btcnd";
String out = s.replaceAll("\s", "");
System.out.println(out); // 输出:abcd
}
}
需要注意的转义问题
在正则里,像 < > 这类符号本身不是正则元字符,但在代码字符串中如果和 HTML 或语言语法冲突,应当按语言规则转义。例如在 Java 字符串中反斜杠要写成双反斜杠。
精准删除的关键是模式够具体。如果只想删首尾的某字符,记得加上锚点 ^ 和 $ 或使用相应的首尾方法。
总结
用正则表达式删除特定字符,本质就是匹配加替换为空。只要明确要删的对象,选对字符类或列举字符,再结合语言自带的替换接口,就能稳定完成任务。