Разделить строку в матричном или табличном виде и сохранить в ArrayList

1

Я хочу выполнить раздельную логику, которая преобразует одну строку в матричную или табличную форму. У меня ниже строковая структура.

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, в частности ArrayList содержат нож и пираты Cap и так далее.

Я пробовал несколько вещей, но не добился успеха
сначала я подумал, что мне нужно разбить строку на таблицу, используя эту ссылку
затем попробовал другой Link2, Link3

Кто-нибудь может мне помочь, пожалуйста
Заранее спасибо.

Обновление 1

Сначала я подумал, что мне нужно разбить строку с помощью StringTokenizer, чтобы я попытался

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

Затем снова попытался разделить на использование разделенных строк строки [] = text.split("Sr.");

for(int i = 0 ; i < lines.length ; i++) {
    Log.v(TAG, "Line:: "+i+ " -- "+lines[i]);
    }
  • 0
    Возможно, вы захотите показать некоторые из кода, который вы написали до сих пор
  • 0
    @dhke Dhke Я запутался в этом, не найти какой-либо конкретной логики для выполнения задачи
Показать ещё 1 комментарий
Теги:
arraylist
split
stringtokenizer

1 ответ

0

Как вы это описали, я бы справился с этим так.

  1. Возьмите часть своей строки между "Amount" и "Total". Вы можете использовать String.indexOf()
  2. Разделите это на части, используя разрывы строк
  3. Разделить каждую деталь на субчасти, используя знаки пространства
  4. Поскольку вторая часть может содержать пробел, объедините 2-й и 3-й, если у вас более 5 подчастей
  • 0
    Спасибо за ваш ответ. Можете ли вы предоставить код sudo или строку кода?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню