Administrator
Published on 2026-06-02 / 0 Visits
0

Java 常用需要转义 / 不需要转义 方法大全

#AI

Java 常用需要转义 / 不需要转义 方法大全

我给你整理成最清晰、最实用、面试/开发必背版本,直接区分:普通字符串方法 vs 正则方法

一、核心结论(背会这一句就够)

  1. 参数是 普通字符串不用转义
  2. 参数是 正则表达式必须转义. * + | ( ) [ ] { } ^ $ \

二、✅ 不需要转义的方法(普通字符串)

这些方法完全不解析正则,你传什么就是什么。

字符串包含/判断

  • contains(".") ✅ 直接写 .
  • startsWith(".")
  • endsWith(".")

字符串替换(单个字符)

  • replace('.', '-') ✅ 字符版,不用转
  • replace(".", "-") ✅ 字符串版,也不用转

字符串截取/比较

  • indexOf(".")
  • lastIndexOf(".")
  • equals(".")

三、⚠️ 必须转义的方法(正则表达式)

只要用到正则,特殊字符必须加 \\ 转义!

1. 匹配判断

  • matches("正则")
    // 判断是否包含 .
    str.matches(".*\\..*");  // 必须 \\.
    

2. 分割字符串

  • split("正则")
    str.split("\\.");   // 按 . 分割
    str.split("\\|");   // 按 | 分割
    str.split("\\+");   // 按 + 分割
    

3. 替换全部

  • replaceAll("正则", "新值")
    str.replaceAll("\\.", "-");  // 把 . 换成 -
    

4. 模式匹配(Pattern、Matcher)

Pattern.compile("\\.");  // 必须转义

四、🔥 Java 正则必须转义的字符清单

这些字符在正则里有特殊含义,直接用会报错/逻辑错误

. * + ? | ( ) [ ] { } ^ $ \

转义写法(Java 里要写 双反斜杠 \\):

\\. \\* \\+ \\? \\| \\( \\) \\[ \\] \\{ \\} \\^ \\$ \\\\

五、超级速记表(开发直接对照)

方法类型是否需要转义 .示例
contains普通字符串❌ 不用.
replace普通字符串❌ 不用.
indexOf普通字符串❌ 不用.
matches正则✅ 必须\\.
split正则✅ 必须\\.
replaceAll正则✅ 必须\\.
Pattern.compile正则✅ 必须\\.

总结

  • 普通方法:直接写 . * + 等字符
  • 正则方法:全部加 \\ 转义
  • 最常用坑点:split(".") 错误 → 必须写 split("\\.")