论坛首页 Java企业应用论坛

使用apache StringUtils.split替代String.split

浏览 10248 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-11-08  
这两个都有点诡异。不若javascript中的split清晰。
0 请登录后投票
   发表时间:2010-11-09  
String[] strs = "".split(","); 
String[] strs = ",".split(","); 
String[] strs = ",1,".split(","); 

split的规则是:
1、不匹配,返回整个字符串
2、有匹配,进行切分
3、如果结果集中最后的空格(尾空格),去掉


所以很好理解你给你例子:
1、不匹配
2、匹配,切分,去掉尾空格,所以变成了空结果
3、匹配,切分,去掉尾空格,所以变成了{"", "1"}的结果

呵呵!也不算潜规则吧,人家文档写的清清楚楚,没有仔细看吧?不要去掉为空格怎么办?  使用split的另外一个重载形式。
1 请登录后投票
   发表时间:2010-11-11   最后修改:2010-11-11
seanzeng 写道
2、匹配,切分,去掉尾空格,所以变成了空结果

,之后的空格是尾空格,会去除,那,之前的空格为什么也不保留呢?
0 请登录后投票
   发表时间:2010-11-12  
flysnowxf 写道
seanzeng 写道
2、匹配,切分,去掉尾空格,所以变成了空结果

,之后的空格是尾空格,会去除,那,之前的空格为什么也不保留呢?

后面的空格去掉后,前面的空格不就也变成了尾部空格了?去尾部空字符串是一个while(true)动作。
0 请登录后投票
   发表时间:2010-11-12  
Jacky-Q 写道
flysnowxf 写道
seanzeng 写道
2、匹配,切分,去掉尾空格,所以变成了空结果

,之后的空格是尾空格,会去除,那,之前的空格为什么也不保留呢?

后面的空格去掉后,前面的空格不就也变成了尾部空格了?去尾部空字符串是一个while(true)动作。

恩,这样的解释就明白了。
0 请登录后投票
   发表时间:2010-11-15  
flysnowxf 写道
Jacky-Q 写道
flysnowxf 写道
seanzeng 写道
2、匹配,切分,去掉尾空格,所以变成了空结果

,之后的空格是尾空格,会去除,那,之前的空格为什么也不保留呢?

后面的空格去掉后,前面的空格不就也变成了尾部空格了?去尾部空字符串是一个while(true)动作。

恩,这样的解释就明白了。



呵呵!去掉尾空格,应该是去掉尾部的连续空格,没想到我少说两个字,引起误会了。

{"", "", ""},这3个都是结尾的连续空格,就会全部去掉,返回的length就是0了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics