gpt4 book ai didi

Java - 大字符串需要用不同的字段长度分割

转载 作者:行者123 更新时间:2023-12-02 13:37:00 26 4
gpt4 key购买 nike

我是 Java 新手,没有找到适合我的场景的任何确切解决方案。我有一根长 1500 的大绳子。

例如:String inData = "THISKALJSKAJFDSKJDKSJ KSJDLKJSFKD LSKJDFKSJ, ASA:..";

我对这 1500 长度有一个固定的格式。我必须根据每个字段固定长度将字符串拆分为 200 多个字段。我发现了类似下面的东西。

String firstFld = inData.substring(0, 2);

String secondaryFld = inData.substring(3, 10);

StringthirdFld = inData.substring(11, 13);

任何人都可以建议更好的分割方法,而不是声明 200 个字符串变量并将它们存储在那里或将它们加载到字符串数组中吗?我计划在获取所有这些字段后构建一个包含这些字段的 xml。

感谢您的所有帮助!

最佳答案

好吧,如果是以下两个,那么这将起作用:

  1. 字段长度有一个模式:例如 (0,2)、(3, 10)、(11,13)、(14, 21) ...
  2. 您有一个字段长度列表

在这两种情况下,解决您想要的问题都非常简单:

第一种情况:模式为 2 个字符 -> 以 2 开头的 7 个字符

String[] fields = new String[getNumberOfFields(1500)];
int curr = 0;
for(int i = 0 ; i < fields.length; i++) {
if(i % 2 == 0) {
fields[i] = inData.substring(curr, curr+7);
curr+=8;
} else {
fields[i] = inData.substring(curr, curr+2);
curr+=3;
}
}

第二种情况:你有一堆不同的字段长度

int curr = 0;
String[] fields = new String[fieldLengths.length];
for(int i = 0; i < fieldLengths.length; i++) {
fields[i] = inData.substring(curr, curr+fieldLengths[i]);
}

关于Java - 大字符串需要用不同的字段长度分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42937445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com