在Java中通过数组拆分字段

时间:2018-10-17 15:34:01

标签: java

我想知道如何使用Java通过数组拆分字段。例如,我们有像AAAA-BBBB-CCCC这样的GLaccount,我们想拆分每个组件并将其存储在变量中,但是GLaccount可能有AAAA-BBBB(没有第三个组件),因此在这种情况下,变量segment3抛出NULL POINTER异常,所以我由于我是Java新手,因此不确定如何解决此问题。

String GL = getOwner().getGL("GLACCT");
String segment1 = GL.split("-")[0];
String segment2 = GL.split("-")[1];
String segment3 = GL.split("-")[2]; 

3 个答案:

答案 0 :(得分:1)

使用split(“-”)将为您提供字符串数组。 在使用数组值之前,可以检查数组的大小是否包含足够的要使用的元素。

String GL = getOwner().getGL("GLACCT"); 
String[] array=GL.split("-");
String segment1 = array[0]; 
String segment2 = array[1]; 

//check if array have 3rd element 
if(array.length >2)
      String segment3 = array[2];
else
       System.out.println("No third element") ;

答案 1 :(得分:0)

import java.util.Arrays;    
List<String> list = Arrays.asList(GL.split("-"));

使用此代码,您无需考虑是否有2,3或10个字符串,并且无需为每个新字符串添加新字符串。

答案 2 :(得分:0)

(一次)使用分割方法并检查返回的数组长度:

 String[] values3 = "AAAA-BBBB-CCCC".split("-");
 // values.length == 3 


 String[] values2 = "AAAA-BBBB".split("-");
 // values2.length == 2