【问题标题】:How to check that the value of column in particular row is not null and is also tab delimeted如何检查特定行中列的值是否不为空并且也是制表符分隔的
【发布时间】:2013-05-02 17:03:56
【问题描述】:

我正在解析一个制表符分隔的 .csv 文件。如您所见,有箭头代替选项卡;这是因为我在记事本中启用了“显示所有字符”选项。

AAA->BBB->CCC->CRLF

agf->jui->kje->aweCRLF

bvg->qaz->plm->yhbCRLF

现在我正在使用 csv beans 0.7 解析器来解析这个 .csv 文件,并且我正在像这样获取每个列的 objecTS

if(f.getAAA() && f.getBBB() && f.getCCC() && f.getDDD()) // IT IS GETTING THE VALUE OF ROW1 agfjuikjeawe
  { }

现在这个.csv文件是从后端接收的,有可能任何列的值也可能为空,如下所示

AAA->BBB->CCC->CRLF

agf->->kje->aweCRLF

bvg->qaz->plm->yhbCRLF

我正在设置这样的条件来检查空值,但是,如您所见,如果值不存在但选项卡存在,那么我的条件检查是否正确

if(f.getAAA()!=null && f.getBBB()!=null && f.getCCC()!=null && f.getDDD()!=null)
  { }

【问题讨论】:

    标签: java csv io


    【解决方案1】:

    我不知道您正在使用的库,但是对于普通 java,您可以在 csv 文件的每一行中使用 String 的 split(string) 方法,如下所示:

    final String s = "abc\tefg\thij";
    final String [] values = s.split("\t");
    System.out.println(Arrays.toString(values));
    

    编辑:其中方法的“\t”参数是制表符的特殊字符。然后,您可以检查数组中的元素以查找空字符串,这将是您的 null 值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 2011-04-05
      • 2017-06-11
      • 1970-01-01
      • 2011-05-05
      相关资源
      最近更新 更多