读书人

java字符串分隔解决思路

发布时间: 2012-10-31 14:37:32 作者: rapoo

java字符串分隔
DYNFLIGHT#A###2012/07/02 14:42:54#START#186###,以上字符串需要获取#号之间的内容,使用String的split方法不用分隔多个连续#号,请问有什么方法能分多个连续的#号,#号与#号之间没有值的时侯我希望能返回null。

[解决办法]
没读懂你是什么意思,
"#号与#号之间没有值的时侯"split方法返回的是"",
你直接替换成null不就行了,
或者你是想要输出
DYNFLIGHT,A,2012/07/02 14:42:54,START,186
这样?
[code=java]
String str = "DYNFLIGHT#A###2012/07/02 14:42:54#START#186###";
String[] temp = str.split("#+");
for(String s : temp){
System.out.print(s + ",");
}
[/code]
[解决办法]
你看能用不

Java code
public static void main(String[] args) {        String str = "DYNFLIGHT#A###2012/07/02 14:42:54#START#186###";        Pattern pattern = Pattern.compile("#");        Matcher matcher = pattern.matcher(str);        List<String> list = new ArrayList<String>();        int startIndex = 0;        while(matcher.find()){            int endIndex = matcher.start();            //这里可以判断str.substring(startIndex, endIndex).length() == 0替换成null            list.add(str.substring(startIndex, endIndex));            startIndex = endIndex + 1;        }        for(String s : list){            System.out.print(s +",");        }    } 

读书人网 >J2SE开发

热点推荐