我想替換兩個數字之間或數字與'。'之間的所有字符' - '。由炭 '&'。例如java String.replaceAll兩個數字之間的字符
字符串輸入= 「2.1(-7-11.3)-12.1 * -2.3-0.11」
字符串輸出=「2.1(-7 & 11.3)-12.1 * -2.3 & .11「
我有這樣的事情,但我嘗試做起來更容易。
public void preperString(String input) {
input=input.replaceAll(" ","");
input=input.replaceAll(",",".");
input=input.replaceAll("-","&");
input=input.replaceAll("\\(&","\\(-");
input=input.replaceAll("\\[&","\\[-");
input=input.replaceAll("\\+&","\\+-");
input=input.replaceAll("\\*&","\\*-");
input=input.replaceAll("/&","/-");
input=input.replaceAll("\\^&","\\^-");
input=input.replaceAll("&&","&-");
input=input.replaceFirst("^&","-");
for (String s :input.split("[^.\\-\\d]")) {
if (!s.equals(""))
numbers.add(Double.parseDouble(s));
}
在一次調用中執行:'replaceAll(「(?!\\ .- \\。)([0-9。]) - ([0-9。])」,「$ 1&$ 2」)''。演示請參見[regex101.com](https://regex101.com/r/wNzXQ3/1)。 – Andreas