Java String常见十大问题(2)

三、如何分割字符串

Java里分割字符串是通过正则表达式来分割的,在此我只是简单谈论一下如何分割,想深入了解正则表达式的,可以点击

首先看一个简单的例子,如下使用“-”来分割字符串,

String str = "aa-bb-cc-dd"; String[] res = str.split("-"); //aa bb cc dd


看起来很简单,只需要在找出分割复就行了,如你想使用“c”作为分割符,那输出就是aa-bb- -dd。另外再看一下,使用空格符(\s)来分割字符串(Space键,tab键或者换行符),如下:

String str4 = "aa bb cc dd"; String[] res = str4.split("\\s"); //aa bb cc dd

在这里就有点不同的,在java里反斜线(\)有着特别的含义,为避免混淆或者出现异常, 应该使用(\\),类似的,看一下使用“|”分割字符串,

String str4 = "aa|bb|cc|dd"; String[] res = str4.split("\\|"); //aa bb cc dd

四、取子串

String str = "abcdefg"; str = str.substring(2, 5); //cde

在java7里,substring会创建一个字符串,如果是在java6,倡导使用如下方式:

String str = "abcdefg"; str = str.substring(2, 5)+""; //cde

关于substring在java6和java7的区别,可以查阅相关文档。

五、如何将字符串转换日期

String str = "2013-9-24"; SimpleDateFormat format = new SimpleDateFormat(); format.applyPattern("yyyy-MM-dd"); Date date = format.parse(str); System.out.println(date); //Tue Sep 24 00:00:00 CST 2013

六、String,StringBuilder,StringBuffer的区别

String与StringBuilder的区别,String是创建之后不可以再修改,StringBuilder是可变的,创建之后可以修改。StringBuilder与StringBuffer的区别,StringBuffer是线程安全的,执行速度相对StringBuffer会慢一点。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/4964561ccb00bff45e839d91f151dc99.html