为了账号安全,请及时绑定邮箱和手机立即绑定

java string.split()方法问题

java string.split()方法问题

哈士奇WWW 2019-03-21 18:15:23
 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("\|"); 


查看完整回答
反对 回复 2019-04-26
?
PIPIONE

TA贡献1829条经验 获得超9个赞

String str[] = "192.168.1.1|192.168.1.2|192.168.1.3|".split("\^"); 

查看完整回答
反对 回复 2019-04-26
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

不好意思,上面那个字符串里没有 ^ 我只是说明用 \^

查看完整回答
反对 回复 2019-04-26
?
holdtom

TA贡献1805条经验 获得超10个赞

|需要转义\|


查看完整回答
反对 回复 2019-04-26
?
www说

TA贡献1775条经验 获得超8个赞

spilt里面接受的是正则表达式


查看完整回答
反对 回复 2019-04-26
?
BIG阳

TA贡献1859条经验 获得超6个赞

Java的split方法参数是正则表达式regex,仔细看一下说明。而|的表示在正则表达式里需要转移为|,同时为了作为字符串的参数,\又需要进行转义,所以表示为\,所以split的参数改成“\|”就可以实现目的


查看完整回答
反对 回复 2019-04-26
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

str.split();参数是正则表达式。 具体参见api。 
| 是正则表达式元字符 所以需要转义 改为\|

注意java的\也是需要转义的。

查看完整回答
反对 回复 2019-04-26
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

参数提示,split里是正规表达式!!


查看完整回答
反对 回复 2019-04-26
  • 8 回答
  • 0 关注
  • 724 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信