我想知道如何使用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];
答案 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