1
所以我试图在科学记数法中拆分一个包含两个双打的简单数学方程,例如“54E-1-57E-1”。我试图找到正则表达式来为我做这件事,但我遇到了两个问题。第一个是,下面的代码成功地分割了我的字符串,但由于某种原因,negTest输出了false,我不知道为什么。使用正则表达式来拆分数学方程式
public static void main(String[] args) {
String testString = "54E-1-57E-1";
boolean negTest = string.contains("(?<=\\d)-(?=\\d)");
System.out.println(negTest);
String[] output = testString.split("(?<=\\d)-(?=\\d)");
System.out.println(Arrays.toString(output));
}
//Output:
//false
//[54E-1, 57E-1]
我认为这是我的正则表达式的问题,但字符串成功地围绕减号混淆了我。第二个问题是我如何分解它,以便减去包含在第二项中,例如,
[54E-1, -57E-1]
任何帮助/解释非常感谢!
啊, 谢谢!是否有另一种方法来检查字符串是否包含特定的正则表达式? –
@JeremyRobertson'matches'方法将regex作为参数..所以你可以这样做'boolean negTest = string.matches(“。* \\ d - \\ d。*”)' – Anirudha