Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const getValueBetween = (str) => (startDelimiter, endDelimiter) =>
- str.split(startDelimiter).pop().split(endDelimiter).shift().trim();
- const getValueStartingAt = (str) => (startDelimiter, numberOfChars = Infinity) =>
- str.split(startDelimiter).pop().slice(0, numberOfChars).trim();
- const parseData = (getDataBetween, getDataStartingAt) => ({
- provider: getDataBetween('{', '}'),
- institution: getDataBetween('}', 'Informa:'),
- status: getDataBetween('Compra', 'Cartao'),
- cardFlag: getDataBetween('Cartao', 'final'),
- cardLastNumber: getDataBetween('final', 'de'),
- amount: getDataBetween('de', 'em'),
- dateTime: getDataStartingAt('em', 18),
- location: getDataStartingAt(/([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]/),
- });
- /*------------------------------------------------*/
- const data1 = '{MESTRE}Santander Informa: Compra APROVADA Cartao Mastercard final 5036 de R$ 72,60 em 18/03/18 as 16:43 AUTO POSTO SATELITE';
- const data2 = '{MESTRE}Santander Informa: Compra APROVADA Cartao Mastercard final 5036 de R$ 6,50 em 18/03/18 as 17:45 ENTRE AMIGOS ';
- const data3 = '{MESTRE}Santander Informa: Compra APROVADA Cartao Mastercard final 5036 de R$ 12,45 em 18/03/18 as 20:17 PARATEI RESTAURANTE';
- const data4 = '{MESTRE}Santander Informa: Compra APROVADA Cartao Mastercard final 5036 de R$ 5,00 em 18/03/18 as 23:30 ESQUINA CARIOCA LOUN';
- const result = {
- data1: parseData(getValueBetween(data1), getValueStartingAt(data1)),
- data2: parseData(getValueBetween(data2), getValueStartingAt(data2)),
- data3: parseData(getValueBetween(data3), getValueStartingAt(data3)),
- data4: parseData(getValueBetween(data4), getValueStartingAt(data4)),
- }
- /**
- {
- "data1": {
- "provider": "MESTRE",
- "institution": "Santander",
- "status": "APROVADA",
- "cardFlag": "Mastercard",
- "cardLastNumber": "5036",
- "amount": "R$ 72,60",
- "dateTime": "18/03/18 as 16:43",
- "location": "AUTO POSTO SATELITE"
- },
- "data2": {
- "provider": "MESTRE",
- "institution": "Santander",
- "status": "APROVADA",
- "cardFlag": "Mastercard",
- "cardLastNumber": "5036",
- "amount": "R$ 6,50",
- "dateTime": "18/03/18 as 17:45",
- "location": "ENTRE AMIGOS"
- },
- "data3": {
- "provider": "MESTRE",
- "institution": "Santander",
- "status": "APROVADA",
- "cardFlag": "Mastercard",
- "cardLastNumber": "5036",
- "amount": "R$ 12,45",
- "dateTime": "18/03/18 as 20:17",
- "location": "PARATEI RESTAURANTE"
- },
- "data4": {
- "provider": "MESTRE",
- "institution": "Santander",
- "status": "APROVADA",
- "cardFlag": "Mastercard",
- "cardLastNumber": "5036",
- "amount": "R$ 5,00",
- "dateTime": "18/03/18 as 23:30",
- "location": "ESQUINA CARIOCA LOUN"
- }
- }
- */
Add Comment
Please, Sign In to add comment