java中用split()方法分割字符串--用特殊字符分割得不到想要的结果的情况

   java中,分割字符串可以使用split()方法来实现分割。

   

	String str1 = "aabccbdd";
	String[] Str1Array = str1.split("b");//结果Str1Array:[aa, cc, dd]

   上面的例子中可以成功的将字符串用“b”来进行分割,得到可与其的结果。

    但是又是偶用特殊字符来分割是得不到自己想要的结果的,如下例子所示:

	String str2 = "aa|cc|dd";
	String[] Str2Array = str2.split("|");//结果Str2Array:[, a, a, |, c, c, |, d, d]
    预期得到的数组应该是[aa, cc, dd]这样,但是显示的结果是这样的:[, a, a, |, c, c, |, d, d]。

    这个是因为|是特殊的字符,这个字符分割需要加上转义字符,才能得到我们想要的结果,如下例子所示:

	String str3 = "aa|cc|dd";
	String[] Str3Array = str3.split("\\|");//结果Str3Array:[aa, cc, dd]

    总结

 

    1.字符"|","*","+"都得加上转义字符,前面加上"\\"。
    2.而如果是"\",那么就得写成"\\\\"。
    3.如果一个字符串中有多个分隔符,可以用"|"作为连字符。

    比如:String str = "Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开。这样就把字符串分成了3个子字符串。

    还有一些情况,比如replaceAll方法中,想将()括号去掉也是需要加上转义字符的,因为这些字符跟正则表达式中的符号冲突,所以在非正则的使用方式中,需要用“\\”来进行转义。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值