Danny Kon
asked on
Powershell question about a text file
I have a text file with
Verkoper: JEAN-PAUL Leverdatum 7-11-2016
Nr. Omschrijving Aantal Stukprijs Verp.bel Bedr.incl.verp.
21051 Coca Cola Krat 24x20 cl 70 7,80 546,00
60547 Emballage Euro 5,00 70 5,00 350,00
22005 Coca Cola Light Krat 24x20 cl 10 8,20 82,00
60547 Emballage Euro 5,00 10 5,00 50,00
Wat is the best way to get only the last numbers and to add up so i need 546+350+82+50=1028
Thanks Danny
Verkoper: JEAN-PAUL Leverdatum 7-11-2016
Nr. Omschrijving Aantal Stukprijs Verp.bel Bedr.incl.verp.
21051 Coca Cola Krat 24x20 cl 70 7,80 546,00
60547 Emballage Euro 5,00 70 5,00 350,00
22005 Coca Cola Light Krat 24x20 cl 10 8,20 82,00
60547 Emballage Euro 5,00 10 5,00 50,00
Wat is the best way to get only the last numbers and to add up so i need 546+350+82+50=1028
Thanks Danny
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
oBdA
Because i think the question is to big i try to split the question in parts but if you have maybe the time could you look at question
https://www.experts-exchange.com/questions/28984972/Powershell-to-extract-the-important-data-and-calculate-if-the-amounts-are-correct.html
Thanks again Danny
Because i think the question is to big i try to split the question in parts but if you have maybe the time could you look at question
https://www.experts-exchange.com/questions/28984972/Powershell-to-extract-the-important-data-and-calculate-if-the-amounts-are-correct.html
Thanks again Danny
'\s(?<Amount>\d+,\d\d)\s*\ Z' checks if the line matches
\s - a space, followed by
\d+ - at least one digit (more OK), followed by
, - a comma, followed by
\d\d - exactly two digits, followed by
\s* - any number of spaces (zero OK), followed by
\Z - end of string.
The (<Amount>...) is a named capturing group that captures the amount in question, without the unnecessary stuff around it.
If a match is found, the $Matches variable will contain a key 'Amount' with the captured content.
\s - a space, followed by
\d+ - at least one digit (more OK), followed by
, - a comma, followed by
\d\d - exactly two digits, followed by
\s* - any number of spaces (zero OK), followed by
\Z - end of string.
The (<Amount>...) is a named capturing group that captures the amount in question, without the unnecessary stuff around it.
If a match is found, the $Matches variable will contain a key 'Amount' with the captured content.
ASKER
Perfect answer and quick respons
ASKER
But how the command knows you want the last number
Because the "\Z" at the end "anchors" the expression to the string's end.
ASKER
Last question and if i wanted the 70, 70, 10, 10 third number from the right
Yes, I'll have a look at your other question ...
ASKER
:)
ASKER
I can not give you bonus points but can you maybe explain how this work
Thanks Danny