Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:Regex删除任何非十进制或'/';价值观_Java_Regex - Fatal编程技术网

Java:Regex删除任何非十进制或'/';价值观

Java:Regex删除任何非十进制或'/';价值观,java,regex,Java,Regex,我试图删除字符串中除小数和除法符号“/”之外的所有内容。 例如,如果字符串是:“1.2/3x^7/1.1” 它应该返回“1.2/3 7/1.1” 我试过这样做:s.replaceAll(“^-?\\d*\\.?\\d?=^/”,”)但它什么也没做。这很有效 public static String decimalsAndDivision(String a) { return a.replaceAll("[^0-9./]", " "); } 像这样使用它: System.out.prin

我试图删除字符串中除小数和除法符号“/”之外的所有内容。 例如,如果字符串是:“1.2/3x^7/1.1” 它应该返回“1.2/3 7/1.1”

我试过这样做:
s.replaceAll(“^-?\\d*\\.?\\d?=^/”,”)
但它什么也没做。

这很有效

public static String decimalsAndDivision(String a) {
    return a.replaceAll("[^0-9./]", " ");
}
像这样使用它:

System.out.println(decimalsAndDivision("1.2/3x^7/1.1"));

字符串是不可变的。您是否将
replaceAll
的结果分配给新字符串
s=s.replaceAll(“^-?\\d*\\.?\\d?=^/”,”)
。你认为
^
在你的正则表达式中代表了什么(你有两个)。@Kon我刚刚试过,但仍然没有运气
System.out.println(“1.2/3x^7/1.1.replaceAll”(\\d+((?:[.]\\d+)/),“$1”)
(替换可能是
“$1”
)@pshemo Ahhh它会相互抵消…但如果我只保留第一个,我仍然会得到相同的结果…事实上,OP正在寻找
a.replaceAll([^0-9./]+”,”)。甚至
.replaceAll(“[^0-9./]+”,”).trim()