【发布时间】:2020-08-30 16:49:58
【问题描述】:
我正在解析文本文件中的许多行。文件行是固定长度宽度,但取决于行的开头,例如“0301 ....”,文件数据结构被拆分。有以 11、34 等开头的行示例,并且基于该行的拆分方式不同。
示例:如果行首包含“03”,则该行将被分割
name = line.substring(2, 10);
surname = line.substring(11, 21);
id = line.substring(22, 34);
adress = line.substring (35, 46);
另一个例子:如果行首包含“24”,那么该行将被分割
name = line.substring(5, 15);
salary = line.substring(35, 51);
empid = line.substring(22, 34);
department = line.substring (35, 46);
所以我有很多子字符串被添加到很多字符串中,然后在csv中写入一个新文件。
我的问题是有没有简单的方法来存储子字符串的坐标(索引)并在以后更容易地调用它们?示例
name = (2,10);
surname = (11,21);
... 等等
或者可能是使用子字符串的任何替代方法?谢谢!
【问题讨论】:
-
我想您可以将所有坐标放入一个数组中,并使用 Map 根据您的输入字符串查找该数组。
-
这些行是否总是被相同的字段(姓名、姓氏、身份证、地址)分割,或者它们是否可以根据开始有不同的字段?
-
@Loris Securo 不幸的是新类型的数据不一样
-
“开始”键(字符串)映射,其中包含自定义对象的值(如下面的@AzizSonawalla 建议),其中包含开始索引、结束索引和自定义函数(或函数的某些扩展) ) 可能对你有用。