There is no "simple" solution to that - you can't just assume that Parse will convert
[2-A 2B]3
Into
(2 + 2) * 3
which is what you are asking it to do: Parse converts "123" into an integer value 123, and nothing else. If it means anything which isn't numeric, it fails. So your Linq expression (which basically throws away non-numeric characters) works out to trying to add
15
15
2
23
52
8
Which is never going to be 72...
If you want to threat that text in the way you describe (which frankly is rather odd) then you will need to build an entire lexical parser to look at the entire data and work out exactly what it is supposed to do with it. There is (AFAIK) no parser which works with data in that format.