Java:Regex删除任何非十进制或'/';价值观
我试图删除字符串中除小数和除法符号“/”之外的所有内容。 例如,如果字符串是:“1.2/3x^7/1.1” 它应该返回“1.2/3 7/1.1” 我试过这样做: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
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()
。