java - 在java中按句号和引号分割字符串

标签 java string split

一个非常愚蠢的问题,我知道“和.都是特殊字符,但是为什么在使用split()函数时会有差异?

代码如下

    String.split("\"");
    String.split("\\.");

它们都有效,但为什么第一行代码只有一个“\”,第二行有两个?

编辑: 如果我这样做会发生什么

    String.split("\\"");

结果是否相同

    String.split("\"");

最佳答案

在第一个示例中,您要转义 "(这不是特殊的正则表达式字符,因此它实际上与 string.split(Character.toString('"' ));) - 也就是说,您需要转义 " 以将 " 放入 String - 您也可以编写string.split(""+ '"');。在第二个示例中,您要转义 .(这是一个特殊的正则表达式字符)。因此 \ 被转义,相当于 Pattern.compile(".", Pattern.LITERAL).split(string);

关于java - 在java中按句号和引号分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45951295/

相关文章:

java - Hibernate 对自定义集合的查询

java - java 中 .equals() 方法的假设 - 比较对象的实例或对象的状态

java - 无法在ubuntu 12.04上执行java

java - java中常见的字符串长度

Swift 字符串和整数下标

swift - 在 Swift 中,你可以将一个字符串拆分为另一个字符串,而不仅仅是一个字符吗?

javascript - .split 通过将字符串转换为数组返回 NaN

Java比较器对重复值进行排序

sql - 使用纯 SQLite 将字符串拆分为行

python - 类型错误 : 'NoneType' object is not subscriptable followed by AttributeError: 'NoneType' object has no attribute 'split'