java String的split方法容易犯的错误

转载 2012年03月29日 11:58:35

今天用split方法分割一个类似"9580|9570|9571"的字符串,用Arrays.asList将String[]转成List,结果却是这样

[9,5,8,0,|,9,5,7,0,|,9,5,7,1]

列出几个要点

 

  1. 首先java doc里已经说明, split的参数是reg, 即正则表达式, 如果用"|"分割, 则需使用"\\|"
  2. 用* 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此, 因此也应加入"\\"
  3. 如果字符串中包含"\",首先这个字符串中的"\"需要转义, 即为"\\", 用split时需要写成split("\\\\"), 例子如下System.out.println(Arrays.asList("aaa\\bbb\\bccc".split("\\\\")));

          可以这样思考, 要写成用"\"分割,则首先需要转义"\\", 同时要让"\\"在正则表达式中有意义, 还需在第一个"\"和第二个"\"前面再加一个"\", 就变成了四个"\".


Java String split方法的正则表达式输入

今天遇到一个bug, 执行下面代码的时候输出为0. String[] temp = "8.5".split("."); System.out.println(temp.length); ...

Java String Split 方法小记录-源代码分析

对于初学者来说,String 的 split 隐藏着许多不为人知的秘密,不多BB,上菜吧   public static void main(String[]args){ S...

java String.split 分割字符串的方法

在java.lang包中有String.split()方法,返回是一个数组。   1、“.”和“|”都是转义字符,必须得加"\\";   如果用“.”作为分隔的话,必须是如下写法: String...

java String 的split方法对“.”分割无效的原因及解决

正则表达式里的元字符需要使用斜杠来进行转义,否则分隔失效。虽然老早就知道这个问题,但是长时间不用就忘了,然后写出代码便有问题,于是决定写一篇作为提醒。下面是转自c语言中文网的正则表达式元字符及其使用方...
  • xqclll
  • xqclll
  • 2017年03月07日 11:33
  • 1656

java.lang.String的substring、split方法引起的内存问题

本文大部分内容,摘自下面两篇文章:            http://blog.xebia.com/2007/10/04/leaking-memory-in-java/、            ...

JAVA中String对象split方法注意事项

原文:http://cpdw.iteye.com/blog/393866 今天有人问我个程序,说怎么都找不出错误在哪,我看了下他的代码,看到了一个曾经困惑过自己的问题。他代码中有类似这样一段: ...

Java中分割字符串的方法--String.split()

一.String[] java.lang.String.split(String regex). 源码注释:Splits this string around matches of the given...

java 容易犯的10个错误

  • 2015年02月26日 15:13
  • 6KB
  • 下载

java程序员最容易犯的21种错误

  • 2012年10月18日 10:11
  • 16KB
  • 下载

用Java语言编写程序最容易犯的21种错误

[导读]    1.Duplicated Code   代码重复几乎是最常见的异味了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste的编程风格。与他相对应O...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java String的split方法容易犯的错误
举报原因:
原因补充:

(最多只允许输入30个字)