Java-一次将一个字符串切成多个字符串

问题描述 投票:0回答:1

我正在使用PDFBox从PDF文件读取表格。该表有点复杂(某些部分的列多于其他部分,具有拆分框等),因此数据的结构并不完美。但是,我设法获得了结构化的[[enough数据,因此可以从中提取重要的数据。

由于数据的性质,我想将一个字符串(代表所有列中的一行数据)分成多个部分,分别代表每一列。我想在摆脱空白之前执行此操作,因为必须保持表的格式并且某些列可能为空。例如:

Monday Tuesday Wednesday Spaghetti Salad Apple Meatballs Sandwich Garlic Bread Chicken Cheese

您会看到数据未完全对齐,并且可能需要保留空白,例如星期二的第二行。我的计划是在除去空白之前对每个列进行硬编码(例如,每个列最多20个字符,

每个列的大小可能不同)。

我的问题是,将字符串切成字符串数组最快,最有效的方法是什么?我可以使用String.substring(),但我不想对每一列都这样做。有没有一种方法可以一次完成所有操作?
java string split slice
1个回答
0
投票
尝试使用String.trimString.split(例如,在空白处:):

String s = " Monday Tuesday Wednesday "; System.out.println(Arrays.toString(s.trim().split("\\s+")));

输出:

[Monday, Tuesday, Wednesday]

您为每一行执行此操作。您可以判断一行是否为空,因为结果数组的大小为0。
© www.soinside.com 2019 - 2024. All rights reserved.