我的字符串看起来像这样: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
提前致谢!
答案 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);
}
}