关于java 的split,求大神解决一下啊

问题描述

关于java 的split,求大神解决一下啊

代码 ",,,,".split(',')

我想得到Array('','','','')
但结果我却得到了Array()

有什么办法能得到我想要的结果呢。。。

解决方案

可以使用含有两个参数的split方法,如",,,,".split(",", -1),你调用的那个含有一个参数的方法默认实现如下:

 public String[] split(String regex) {return split(regex, 0);}

public String[] split(String regex, int limit)

第二个参数(limit):
1. 若是正数n,返回数组的长度最大为n(如传入5,反回的数组长度为最大值5,传100也将是5)
2. 若是负数,如-1,则返回数组的长度尽可能地大(就本问题而言,推荐采用这种方法)
3. 若是0,它拆分后会移除后面的空字符串,内部大致实现:先拆分得到一个list,resultSize=list.size(),从末尾resultSize-1开始往前循环遍历,若list.get(resultSize-1)为空字符串,使resultSize-=1,直到遇到非空字符串或resultSize=0为止;然后再调用list.subList(0, resultSize).toArray(new String[0])得到结果数组
因此",,,,".split(",")将先得到一个含有5个空字符串的列表,即resultSize=5,然后从后往前依次检查,遇到一个空字符串,就将resultSize-=1,由于5个元素都是空字符串,最终resulSize=0,子列表为空,数组也为空了

对第3种“奇葩”的做法,都不知道被人骂过多少次了......

解决方案二:

split的字符是作为界符的,本身不会出现在拆分结果中。
如果你要拆分字符串的每个字符,用toCharArray

解决方案三:

",,,,".split(",",100)

解决方案四:

用这样
char[] c=",,,,".toCharArray();
for(int i=0;i<c.length;i++){
System.out.println(c[i]);
}

解决方案五:

看下 ",,,,".split(',').length 的长度

解决方案六:

长度自己写死吧吧,split默认忽略末尾的空字段的,或者可以算出,的个数然后再在末尾拼足够的空字符吧

时间: 2024-09-13 04:31:17

关于java 的split,求大神解决一下啊的相关文章

java jquer...-问一个jquery动态赋值的问题,求大神解决

问题描述 问一个jquery动态赋值的问题,求大神解决 我有一个页面里面有一个单选框,单选框选了后传到后台没有值,还有就是如何实现点击单选框的时候用jquery动态的给后面的两个文本框赋值,点击单选框如果为true时,给后面两个文本框赋值,求大神解决,java 解决方案 <script type="text/javascript"> function cbChange(){ if($("#rad").is(":checked")){

java 往新浪云部署 一直连接不上数据库 用户名和密码都已经配置对了呀,求大神解决

问题描述 java 往新浪云部署 一直连接不上数据库 用户名和密码都已经配置对了呀,求大神解决 报错内容 Caused by: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC

网易云信 java给手机写接口 curl是什么东西,跪求大神解决

问题描述 网易云信 java给手机写接口 curl是什么东西,跪求大神解决 用到的框架 spring springmvc mybatis 这是开发手册的地址http://dev.netease.im/docs?doc=server_sms 解决方案 curl是一个用来访问web和web service的库,和你用浏览器输入网址,提交参数,得到网页的原理是一样的.java中用自带的httpclient就可以了.

new-短信猫smslib,终端at ok,在srv.stopService()时会报空指针,求大神解决

问题描述 短信猫smslib,终端at ok,在srv.stopService()时会报空指针,求大神解决 1.这几个东西也是按照这个放的 comm.jar 放到 已放入java_homejirelibext javax.comm.properties 已放入java_homejirelib win32com.dll 已放入java_homejirebin 2.我的操作系统是win7 64位的 3.代码如下 package driver; import org.smslib.Library; i

android-eclipse 一打开出现这个问题,求大神解决下

问题描述 eclipse 一打开出现这个问题,求大神解决下 [2015-05-25 13:10:38 - Framework Resource Parser] Collect preferences failed, class org/apache/http/client/HttpClient not found in D:Program Files3Gadt-bundle-windows-x86-20130729sdkplatformsandroid-18android.jar 解决方案 你好

急求,在线等,求大神解决一下

问题描述 急求,在线等,求大神解决一下 org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (No license is present.) at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855) at org.apache.commons.dbcp.BasicDat

菜鸟android 照着视频写代码出现NullPointerException 跪求大神解决

问题描述 菜鸟android 照着视频写代码出现NullPointerException 跪求大神解决 package com.example.mp3player; import java.io.StringReader;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List; import javax.xml.parsers.SAXParserFact

用的spring mvc 添加了分页 功能后一直报错 求大神解决

问题描述 用的spring mvc 添加了分页 功能后一直报错 求大神解决 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver]Resolving exception from handler [com.app.controller.ManageController@185c0de]: java.lang.NumberFormatException: For input s

ubuntu-Ubuntu14下hadoop1.2.1环境下Hive1.1.1报错,求大神解决,谢谢

问题描述 Ubuntu14下hadoop1.2.1环境下Hive1.1.1报错,求大神解决,谢谢 Logging initialized using configuration in jar:file:/usr/local/hadoop/lib/hive-common-1.1.1.jar!/hive-log4j.properties Exception in thread "main" java.lang.UnsupportedClassVersionError: com/facebo