快速问题:我想拆分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函数,有时我无法使其工作。
让人敬畏!
发布于 2013-04-06 21:17:27
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]);发布于 2013-04-06 21:10:48
试一试
String[] split = ipAddress.split("\\.");split()方法接受正则表达式,而不是字符串,并且点在正则表达式中有特殊含义。所以你需要用双斜杠来转义它。
或者,您可以使用Pattern.quote
String[] split = ipAddress.split(Pattern.quote("."));发布于 2013-04-06 21:11:11
尝尝这个
String parts[] = ipAddress.split("\\.") //this is double back slashhttps://stackoverflow.com/questions/15851360
复制相似问题