分割字符串与分母不工作

时间:2013-04-06 13:09:22

标签: java netbeans split assign

快速提问:我想使用句点(。)作为分隔符来分割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函数,有时我无法使它工作。

保持真棒!

4 个答案:

答案 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("\\.")