无法通过java split()方法从字符串中获取数字

dut*_*ari 3 java array-algorithms

我有这个代码,它采用格式为255.255.255.255的IP地址(字符串),并需要对这些数字(此处未发布)执行一些后处理,但必须将字符串转换为整数数组.

我在这里使用了split()方法,但它没有给我结果.我在sp上做了正则表达式的其他答案,但没有一个对我有效.

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        String text;

        Scanner take=new Scanner(System.in);
        text=take.nextLine();
        String data[]=text.split(".",4);

        for(String w:data){
            System.out.println(w);
        }
        take.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

我已尝试输入12.36.26.25

但它输出36.26.25,应该是12 36 26 25

Ves*_*dov 11

像这样使用它:

        String example="12.36.26.25";
        String data[]=example.split("\\.");

        for(String w:data){
            System.out.println(w);
        }
Run Code Online (Sandbox Code Playgroud)

它会做你想要的;)

像你一样使用split(regex,limit)实际上会拆分任何字符(因为.是任何字符的正则表达式),它基本上会删除前几个字符