使用分隔符将字符串分割成几个字段

时间:2019-07-22 13:05:10

标签: jasper-reports

我有一个类似这样的查询数据集:

+---------+---------+---------+-------------+
| ColumnA | ColumnB | ColumnC | ColumnD     |
+---------+---------+---------+-------------+
| A1      | B1      | C1      | D11,D21,D31 |
+---------+---------+---------+-------------+
| A2      | B2      | C2      | D21,D22     |
+---------+---------+---------+-------------+

我想像下面这样分割它:

+=========+=========+=========+=========+
| ColumnA | ColumnB | ColumnC | ColumnD |
+=========+=========+=========+=========+
| A1      | B1      | C1      | D11     |
+---------+---------+---------+---------+
| A1      | B1      | C1      | D21     |
+---------+---------+---------+---------+
| A1      | B1      | C1      | D31     |
+---------+---------+---------+---------+
| A2      | B2      | C2      | D21     |
+---------+---------+---------+---------+
| A2      | B2      | C2      | D22     |
+---------+---------+---------+---------+

D列中此类字段的数量未知(从0到无穷大)。 大约有15列,例如D列。

我试图这样做(对于第一行)

$F{OV9}.split(";")[0]

和(第二个)

$F{OV9}.split(";").length > 1 && $F{OV9}.split(";")[1].length() >2 ? $F{OV9}.split(";")[1].trim() : "-"

但仅在最多有两个子字符串的情况下才适用。

我该怎么办?

0 个答案:

没有答案