[英]Java - Large String need to split with different field length
我是Java的新手,没有找到适合我的方案的确切解决方案。 我有一个大的字符串,长度为1500。
例如: String inData = "THISKALJSKAJFDSKJDKSJ KSJDLKJSFKD LSKJDFKSJ, ASA:..";
我对这1500个长度有固定的格式。 我必须根据每个字段的固定长度将字符串分成200多个字段。 我发现类似下面的内容。
String firstFld = inData.substring(0, 2);
String secondFld = inData.substring(3, 10);
String thirdFld = inData.substring(11, 13);
任何人都可以提出更好的拆分方法,而不是声明200个字符串变量并将其存储在其中或将其加载到字符串数组中吗? 我计划在获取所有这些字段后构建一个xml。
感谢您的帮助!
好吧,如果是以下两个,那么这将起作用:
在这两种情况下,解决您想要的东西都非常简单:
第一种情况:模式是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]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.