将字符串拆分为“,”&引用;使用Java

将字符串拆分为“,”&引用;使用Java,java,swing,Java,Swing,我有一个这样的记事本文件 550-001,w,009.95,培尔火鸡,美国广播公司 550-002,第012.95页,叙利亚梨,def 550-003,w,009.95,黎巴嫩梨,ghi 550-005,w,009.95,金梨,jkl 550-006,西,007.95,澳大利亚胡萝卜 我用“,”的方法来拆分这篇文章,“,”的意思是这样拆分的 550-001 w 009.95 abc 等等…… 至少 550-006 w 007.95 澳大利亚胡萝卜 对于“,”之后的这一行,没有字符串,因此它发送这

我有一个这样的记事本文件

550-001,w,009.95,培尔火鸡,美国广播公司
550-002,第012.95页,叙利亚梨,def
550-003,w,009.95,黎巴嫩梨,ghi
550-005,w,009.95,金梨,jkl
550-006,西,007.95,澳大利亚胡萝卜

我用“,”的方法来拆分这篇文章,“,”的意思是这样拆分的

550-001
w
009.95
abc
等等……
至少
550-006
w
007.95
澳大利亚胡萝卜

对于“,”之后的这一行,没有字符串,因此它发送这一行的错误并跳过这一行


如何识别没有字符串?

我猜您使用的是string.split(“,”)

若是,则返回一个字符串数组。检查此数组的条目数是否正确,以及每个条目的长度是否大于0

这个问题看起来很相似,应该可以进一步帮助您。

试试:

if (str==null || str.equals("")){//you only need one of these checks
//do something
}
对于“,”之后的这一行,没有字符串,因此它发送这一行的错误并跳过这一行。如何识别没有字符串

所以您的问题是您得到的是一个空字符串,因为您的代码以
结尾

解决方案


是指向工作代码的ideone.com链接。

您可以使用内置的拆分方法

String[] array = yourString.split(",")
这里的数组是一个字符串数组,它包含字符串yourString中包含的所有元素

为了检查一个coma之后是否有字符串,只需检查给定索引处的元素的长度是否为非零

String line="";
boolean error=false;
for(String elem : array){
    if(element.length()>0)
        line+=elem+"\n";
    else {
        System.err.println(error here, we skip the line)
        error=true;
    }
}
if(!error)
    System.out.println(line);

我为您添加了java标记,因此这个问题引起了更多的注意。但是您应该提高问题的质量。请添加您尝试过的代码段。演示您的尝试?显示产生此错误的java代码。
String line="";
boolean error=false;
for(String elem : array){
    if(element.length()>0)
        line+=elem+"\n";
    else {
        System.err.println(error here, we skip the line)
        error=true;
    }
}
if(!error)
    System.out.println(line);