Извлечение из текста нужных данных

Помогите с решением, ежедневно приходит с сервера такая структура в формате строки (структура всегда одинаковая, но цифры разные):

Статистика по заказам клиентов

Параметры:
Период: 27.08.2024 - 27.08.2024
Отбор:
Заказ клиента.Тип заказа Не в списке "Сотрудники; Тестовый"

По магазинам


В работе
Исполнен
Отменен
Количество
Сумма
Количество
Сумма
Количество
Сумма
Итого
1 732
2 172 351,80
4
2 065,00
27
42 549,00

Состояние
Количество
Сумма
В работе
1 732
2 172 351,80
Исполнен
4
2 065,00
Отменен
27
42 549,00
Итого
1 763
2 216 965,80

Стоит задача написать решения, чтобы функция возвращала с этого текста значения "Итого количество 1 763" и "Итого сумма 2 216 965,80"


Ответы (1 шт):

Автор решения: Алексей Шиманский
let result = yourstring.substr(yourstring.lastIndexOf('Итого'));

Здесь в result попадёт строка вида Итого\n1 763\n2 216 965,80\n. Останется только нужными инструментами через split например получить оставшиеся части. Или ещё через пару substr или регулярки или на что воображения хватит

если сделать yourstring.substr(yourstring.lastIndexOf('Итого') + 6) то можно получить соответственно 763\n2 216 965,80\n


let result = yourstring.substr(yourstring.lastIndexOf('Итого') + 6).split('\n');
result.pop();

по идее в result будет массив из двух чисел. Если в конце последнего числа нет переноса строки, то result.pop() не нужно делать

→ Ссылка