我正在使用PDFBox从PDF文件读取表格。该表有点复杂(某些部分的列多于其他部分,具有拆分框等),因此数据的结构并不完美。但是,我设法获得了结构化的[[enough数据,因此可以从中提取重要的数据。
由于数据的性质,我想将一个字符串(代表所有列中的一行数据)分成多个部分,分别代表每一列。我想在摆脱空白之前执行此操作,因为必须保持表的格式并且某些列可能为空。例如: Monday Tuesday Wednesday
Spaghetti Salad Apple
Meatballs Sandwich
Garlic Bread Chicken Cheese
您会看到数据未完全对齐,并且可能需要保留空白,例如星期二的第二行。我的计划是在除去空白之前对每个列进行硬编码(例如,每个列最多20个字符,每个列的大小可能不同)。
我的问题是,将字符串切成字符串数组最快,最有效的方法是什么?我可以使用String.substring(),但我不想对每一列都这样做。有没有一种方法可以一次完成所有操作?
String.trim
和String.split
(例如,在空白处:):String s = " Monday Tuesday Wednesday ";
System.out.println(Arrays.toString(s.trim().split("\\s+")));
输出:
[Monday, Tuesday, Wednesday]
您为每一行执行此操作。您可以判断一行是否为空,因为结果数组的大小为0。