快速提问:我想使用句点(。)作为分隔符来分割IP地址(例如192.168.0.1)。我似乎无法做对。我尝试运行不同的场景,看看它是否是我的大脑功能失调,但是当在数字而不是句点之间放置空格时似乎都很好。我该如何成功完成?
这是我用来运行它的一段脚本。
String ipAddress = "10.0.0.2";
String[] split = ipAddress.split(".");
//It's supposed to split into four parts and each part needs to be assigned to a var
String Part1 = split[0];
String Part2 = split[1];
String Part3 = split[2];
String Part4 = split[3];
//Just to make sure that it worked...
System.out.println(Part1 + " " + Part2 + " " + Part3 + " " + Part4);
在你质疑我的知识之前,我正在学习新的Java函数,有时我无法使它工作。
保持真棒!
答案 0 :(得分:1)
尝试
String[] split = ipAddress.split("\\.");
split()方法采用正则表达式而非字符串, DOT 在正则表达式中具有特殊含义。所以你需要用双斜线来逃避它。
或者您可以使用Pattern.quote
String[] split = ipAddress.split(Pattern.quote("."));
答案 1 :(得分:1)
试试这个
String parts[] = ipAddress.split("\\.") //this is double back slash
答案 2 :(得分:1)
有一个类在Java中处理IP地址,让你获得正确的表示而不试图自己解析字符串:
InetAddress a = InetAddress.getByName("10.0.0.2");
byte[] b = a.getAddress();
System.out.println(b[0]+" "+b[1]+" "+b[2]+" "+b[3]);
答案 3 :(得分:0)
使用
String parts[] = ipAddress.split("\\.")