【发布时间】:2025-11-29 12:10:02
【问题描述】:
一个非常愚蠢的问题,我知道 " 和 . 都是特殊字符,但是为什么使用 split() 函数时会有所不同?
这里是代码
String.split("\"");
String.split("\\.");
它们都有效,但为什么第一行代码只有一个“\”,第二行有两个?
编辑: 如果我这样做会发生什么
String.split("\\"");
结果会不会一样
String.split("\"");
【问题讨论】:
-
我知道 " 和 . 都是特殊字符 :不,至少不在同一个上下文中。
"在 Java 的字符串字面语法中很特殊,但没什么特别的在正则表达式中。.在正则表达式方面是特殊的,但在 Java 的字符串字面量语法中没有。只需打印出这两个字符串,您就会明白这是什么意思 -
简单:第一行参数长度为1(唯一字符为"),第二行参数长度为2(第一个字符为\,第二个字符为句点). 正则表达式匹配器需要 \ 在字符串中,以便它不会将句点视为特殊。