Unable to fetch numbers from string by java split() method

dutta.ari :

I have this code which takes an IP address(string) of the format 255.255.255.255 and needs to perform some post processing on those numbers (not posted here) but for which the string must be converted into an array of ints.

I have used here the split() method but it's not giving me the result. I saw other answers on sp doing it with regex but none of them worked for me.

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();
    }
}

I have tried with the input 12.36.26.25

But it outputs 36.26.25 which was supposed to be like 12 36 26 25

Veselin Davidov :

Use it like that:

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

        for(String w:data){
            System.out.println(w);
        }

And it will do what you want ;)

Using split(regex,limit) as you did will actually split on any character (since . is the regex for any character) and it will basically remove the first few characters

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=84685&siteId=1