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