0

I'd like to read through a user input string that removes all nondigit characters excluding some characters like +,-,/,. etc. This is for a calculator. Is there an easy way to do this or do I need to split the initial string beforehand.

  • `String.replaceAll()` takes a [Regex](https://en.m.wikipedia.org/wiki/Regular_expression); write an expression that does what you need. For example `[^0-9+/,.-]`. – Boris the Spider Aug 16 '18 at 18:24
  • You need to provide examples with explicit requirements. So far it seems like a simple regex is fine, with the caveat that it'd likely just be easier to parse it for real, since you'll need to do that anyway to create the calculation part. – Dave Newton Aug 16 '18 at 18:24
  • Possible duplicate of [Java String remove all non numeric characters](https://stackoverflow.com/questions/10372862/java-string-remove-all-non-numeric-characters) – wp78de Aug 16 '18 at 19:39

1 Answers1

0

You can use this. Add any characters you want to keep inside the [ ]

string.replaceAll("[^0-9+-]", "");

When you use ^ inside [], it will match any character that is NOT in [] (excluding the ^).

In this case, it will match any character that is not a number (from 0 to 9), not a +, and not a -.

No Name
  • 612
  • 6
  • 15