按Java中的给定数字拆分字符串

时间:2015-09-04 11:17:13

标签: java regex string split

我的字符串看起来像这样:450ZVXX_OF_INV_CC 3,基本上由三部分组成:第1列 3位(在这种情况下,数字为450) ),第2列 30位(在这种情况下,数字和空格直到3)和第3列再次 3位数< / strong>即可。

现在我需要使用数字3,30,3 (存储在int中)将字符串拆分为三个部分,因为我必须使用上面提到的三列构建一个表。

所以我基本上想要取int1 = 3,得到String的前3位数。然后我取int2 = 30,得到字符串的下30位数字。然后我取int3 = 3来得到字符串的下三个数字。

FYI:长度数字3,30,3是数据库系统的预设列长度。

正则表达式没用,因为我没有任何数字或字符,我用它来分割字符串。我将使用上面解释的预设号码。

编程语言:Java

提前致谢!

2 个答案:

答案 0 :(得分:0)

您可以使用String.substring方法对其进行编码。

public class SubStrings {
  public static void main(String[] args) {
    String input = "450ZVXX_OF_INV_CC                 3";
    int first = 3;
    int second = 30;
    String part1 = input.substring(0, first);
    String part2 = input.substring(first, first+second);
    String part3 = input.substring(first+second);
    System.out.println(part1);
    System.out.println(part2);
    System.out.println(part3);
  }
}

答案 1 :(得分:0)

这对你有用。

public class SubStrings {
  public static void main(String[] args) {
    String abc="123456789101112131415151617181999123";
    Integer first = Integer.parseInt(abc.substring(0, 3));
    BigInteger second = new BigInteger(abc.substring(3, 30));
    Integer third = Integer.parseInt(abc.substring(33, 36));
    System.out.println(first);
    System.out.println(second);
    System.out.println(third);
  }
}