java - 将字符串拆分为矩阵或表格并存储到 ArrayList 中

标签 java regex arraylist split stringtokenizer

我想执行分割逻辑,将单个字符串转换为矩阵或表格形式。 我有以下字符串结构。

BlackPerl
Bill No: 101
Bill Date: 27/03/2015
Sr. Particulars     Qty   Rate     Amount
1   Knife           2     10.00    20.00
2   Pirates Cap     1     200.00   200.00
Total Amount 220.00

刺结构每次都相同,但乘积应该是可变的(意味着乘积可以增加或减少)

我期待这样的输出

Sr. | Particulars | Qty | Rate   | Amount 
1   | Knife       | 2   | 10.00  | 20.00 
2   | Pirates Cap | 1   | 200.00 | 200.00 

意味着我需要将数据存储在单独的 ArrayList 中,例如:
Sr. ArrayList包含1和2,Particles ArrayList包含Knife和Pirates Cap等。

我尝试了很多方法,但没有成功
首先我想我必须使用此 Link 将字符串拆分为表格
然后尝试另一个 Link2 , Link3

任何人都可以帮助我
提前致谢。

更新 1

首先,我认为我需要使用 StringTokenizer 分割字符串,以便我尝试过

StringTokenizer st = new StringTokenizer(text, "\\s*[Sr.]+\\s*");
    while(st.hasMoreTokens()){
        Log.v(TAG, st.nextToken());
    }

然后再次尝试使用 split 进行拆分 Stringlines[] = text.split("Sr.");

for(int i = 0 ; i < lines.length ; i++) {
    Log.v(TAG, "Line:: "+i+ " -- "+lines[i]);
    }

最佳答案

正如你所描述的,我会这样处理它。

  1. 取“金额”和“总计”之间的字符串部分。您可以使用 String.indexOf()
  2. 使用换行符将其分成几部分
  3. 使用空格符号将每个部分拆分为子部分
  4. 由于第二个子部分可能包含空格,因此如果子部分超过 5 个,请合并第二个和第三个子部分

关于java - 将字符串拆分为矩阵或表格并存储到 ArrayList 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29297625/

相关文章:

java - 为什么升级到 Windows 2012 后我的 samba 连接会失败?

java - ant 问题中的旧版 IzPack

java - 如何在 Regex 中执行此操作 - 代码库更改

android - 在对象列表中搜索对象属性android

java - 如何使用 jmockit 从模拟类调用真实方法

java - 在android上解密php加密数据

regex - 匹配 *.ts 但不匹配 *.d.ts 的 Webpack 正则表达式测试

python - 在Python BeautifulSoup中如何移动标签

java - 在作为父类添加到数组后调用特定于子的方法

java - 如何将二维字符串 ArrayList 转换为简单的二维字符串数组?