Java split(".") 和 split("\.")

Posted 龙凌云端

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java split(".") 和 split("\.")相关的知识,希望对你有一定的参考价值。

Java split(".") 和 split("\\\\.")


 

问题描述

使用 . 分解 IP 的各个段,并打印,如:192.168.10.123,分解为 192 168 10 123

使用如下程序处理:

/**
 * Created by Miracle Luna on 2019/11/10
 */
public class SplitIP {
    public static void main(String[] args) {
        String ip = "192.168.10.123";
        String[] ipArr = ip.split(".");
        System.out.println("ipArr.length: " + ipArr.length );
        for (String ipVar : ipArr) {
            System.out.println(ipVar);
        }
    }
}

 

执行结果如下(并未按照预期将IP进行分解):


 

 

问题原因

. 为特殊字符,需要使用转义字符进行转义


 

 

问题处理

代码修改如下:

/**
 * Created by Miracle Luna on 2019/11/10
 */
public class SplitIP {
    public static void main(String[] args) {
        String ip = "192.168.10.123";
        String[] ipArr = ip.split("\\\\.");
        System.out.println("ipArr.length: " + ipArr.length );
        for (String ipVar : ipArr) {
            System.out.println(ipVar);
        }
    }
}

 

执行结果如下(达到预期的分解效果):

 

以上是关于Java split(".") 和 split("\.")的主要内容,如果未能解决你的问题,请参考以下文章

java编程split(".")

Java中split的用法

理解 Java 中的正则表达式:split("\t") vs split("\\t") - 它们啥时候都可以工作,啥时候应该使用它们

JAVA的分割方法split的分割规则是怎么的??原理?

请问split("\\.")是啥意思?(JAVA代码)

根据 "\s+" 拆分空字符串时的 String#split 行为