public static void main(String[] args) {
String str[] = "192.168.1.1|192.168.1.2|192.168.1.3|".split("|"); for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}结果:192.168.1.1|192.168.1.2|192.168.1.3|public static void main(String[] args) {String str[] = "192.168.1.1|192.168.1.2|192.168.1.3|".replace("|", "^").split("^"); for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}[/code]结果:[code="java"]192.168.1.1^192.168.1.2^192.168.1.3^[/code][code="java"]public static void main(String[] args) {String str[] = "192.168.1.1|192.168.1.2|192.168.1.3|".replace("|", ":").split(":"); for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}[/code]这次结果为想要的结果了:[code="java"]192.168.1.1192.168.1.2192.168.1.3[/code]以上,我以为是因为|,^是位运算符的问题,结果我试了&,<<,<<<结果都正常.为什么使用 |,^ 会变成那样呢?
8 回答
隔江千里
TA贡献1906条经验 获得超10个赞
public static void main(String[] args) {
String str[] = "192.168.1.1|192.168.1.2|192.168.1.3|".split("|");
for (int i = 0; i < str.length; i++) { System.out.println(str[i]); }
}
String str[] = "192.168.1.1|192.168.1.2|192.168.1.3|".split("|");
这里
String str[] = "192.168.1.1|192.168.1.2|192.168.1.3|".split("\|");
BIG阳
TA贡献1859条经验 获得超6个赞
Java的split方法参数是正则表达式regex,仔细看一下说明。而|的表示在正则表达式里需要转移为|,同时为了作为字符串的参数,\又需要进行转义,所以表示为\,所以split的参数改成“\|”就可以实现目的
添加回答
举报
0/150
提交
取消