Java中的分割字符串 split,“.”无效问题

分割字符串 split(“.”)无效

之前做完善项目的时时候,需要将一个字符串用小数点分割开,调用的是split(“.”),但是总是分割失败,返回为null,返回的不是自己想要的字符串数组。

原方法;

public static void main(String[] args) {
        String a = "0.0";
        String[] split = a.split(".");
        System.out.println(split.length);
 }

显示结果;

"C:\Program Files\Java\jdk1.8.0_333\bin\java.exe" ...

0

之后才发现这个问题的原因,发现是split里的正则表达式写错了,在正则表达式中,小数点指的是任意字符,因此不能直接用".“来匹配小数点,需要使用”\."来匹配小数点,因此要根据小数点分割字符串,需要下面这种写法。

public static void main(String[] args) {
        String a = "0.0";
        String[] split = a.split("\\.");
        System.out.println(split.length);
 }

显示结果;

"C:\Program Files\Java\jdk1.8.0_333\bin\java.exe" ...

2

结论:Java分割字符串的时候要注意转义操作。

java用split()分割字符串注意事项

注意:

1.字符"|","*","+“都得加上转义字符,前面加上”\"。

2.而如果是"",那么就得写成"\\"。

3.如果一个字符串中有多个分隔符,可以用"|"作为连字符。

比如:String str = “Java string-split#test”,可以用Str.split(" |-|#")把每个字符串分开。这样就把字符串分成Java string、split、test3个子字符串。

但是,有时候我们分割字符串,需要根据几个字符串来分割

例如需要分割这个字符串:“ab(12)56”,要根据两个字符 “(” 和 “)”来分割,应该这样来分割

public static void main(String[] args) {
    String string = new String();
    string = "ab(12)56";
    String[] split1 = string.split("[(,)]");
    for (String string2 : split1) {
        System.out.println(string2);
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文地址:https://blog.csdn.net/qq_44099797/article/details/125681911