Reputation: 147
I have this code:
String polynomial = "2x^2-4x+16";
String input = polynomial.replaceAll("[0-9a-zA-Z][-]", "+-");
The problem is I don't want to actually replace the [0-9a-zA-Z]
char.
Previously, I had used polynomial.replace("-","+-");
but that gave incorrect output with negative powers.
The new criteria [0-9a-zA-Z][-]
solves the negative power issue; however it replaces a char when I only need to insert the +
before the -
without deleting that char.
How can I replace this pattern using the char removed like:
polynomial.replaceAll("[0-9a-zA-Z][-]", c+"+-");
where 'c' represents that [0-9a-zA-Z]
char.
Upvotes: 3
Views: 1883
Reputation: 55609
You can use groups for this:
polynomial.replaceAll("([0-9a-zA-Z])[-]", "$1+-");
$1
refers to the first thing in brackets.
Upvotes: 4