java - 分割java字符串

标签 java

Possible Duplicate:
String split not returning empty results

我有一串用逗号(,)分隔的单词,我需要将主字符串标记或拆分为子字符串。例如,string="file1,param1,file2,param2,file3," 该字符串的含义是所有文件名和传递给它的参数的列表。喜欢, 对于文件1-->参数1, 文件2-->参数2和 file3 不存在任何参数。

所以我需要提取文件名和参数(如果有)。如果没有参数,我需要获取空字符串(“”)。

import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

public class XStringTokenizer {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String str = new String("File1,param1,File2,");
        List list = new ArrayList();
        System.out.println(str.split(",").length);
        String[] string = str.split(",");
        for(int i=0;i<string.length;i++){
            list.add(string[i]);
        }
        System.out.println(list);
    }
}

上述示例代码的当前输出是 [File1,param1,File2],但预期输出是 [File1,param1,File2,]。基本上我不应该错过上面 str 中第三个逗号之后的结束空字符串。字符串。

最佳答案

看起来你应该使用

 String[] string = str.split(",",-1);

javadoc for String.split(String,int) 声明“如果 n 为非正数,则该模式将被应用尽可能多次,并且数组可以具有任意长度。”

关于java - 分割java字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11232088/

相关文章:

java - 我可以在 Java 中使用优先级队列而不实现比较器吗?

java - Spring : Logging wont get disabled. 默认转为 Debug

java - 创建 Java 对象一般问题

java - 从 double 中删除一个字符

java - Spring + Hibernate + Redis 的分布式锁

java - 如何从给定的 Instant 获取第二天结束的日期时间? ( java )

java - "WARNING: Unable to find required classes"制作web服务客户端时

java - 在 Java 中实现 GridBagLayout 的问题

基于payload属性的java消息路由

java - 检查默认java安装版本是否大于1.x的DOS脚本