如果給出一個字符串,如"(-2)x^(-2)+(3)x^(1)-(18)x^(-45)"
我將如何使用split()來獲取指數?所以這個例子會返回[-2, 1, -45]
。我試圖找出正則表示法,但它很混亂。我最近來的是string.split("x\\^\\(")
,但它並沒有完全分裂它,我想如何。如何解析指數的多項式
1
A
回答
0
試試這個
String str = "(-2)x^(-2)+(3)x^(1)-(18)x^(-45)";
char[] chars = str.toCharArray();
List<String> exponents = new ArrayList<String>();
for(int i=0; i<chars.length; i++) {
if(chars[i] == '^') {
if(++i<chars.length && chars[i] == '(') {
StringBuilder sb = new StringBuilder();
while(++i<chars.length && chars[i] != ')') {
sb.append(chars[i]);
}
exponents.add(sb.toString());
}
}
}
0
試試這個,如果你需要一個基於正則表達式的解決方案:
String line = "(-2)x^(-2)+(3)x^(1)-(18)x^(-45)";
String pattern = ".*?\\^\\(([\\d-]+)\\)[\\+-]*";
Pattern r = Pattern.compile(pattern,Pattern.MULTILINE);
Matcher m = r.matcher(line);
while (m.find()) {
System.out.println("Found value: " + m.group(1));
}
相關問題
- 1. SympifyError解析多項式
- 2. Javascript - 從字符串解析多項式
- 3. 解析dalvik指令時如何解析可變長度參數?
- 4. 爲多元多項式指數
- 5. 如何解析的XML項和分項解析
- 6. 如何從解析中的指針數組中刪除指針?
- 7. 如何解析數組項android?
- 8. 如何解析lambda項
- 9. 如何從命令行參數顯式解析maven依賴項?
- 10. 正則表達式解析格式錯誤多項式
- 11. 如何解析多態JSON數組?
- 12. 如何JSON解析多元素數組?
- 13. 如何解析與多個小數點
- 14. 正則表達式解析多數據
- 15. 如何解析具有多個值的屬性指令?
- 16. 如何JSON格式解析數據
- 17. 如何解析R中的x的指數函數?
- 18. 正則表達式 - 如何解析多個數字?
- 19. Java - 使用正則表達式解析具有復係數的多項式
- 20. 如何解析xsd:dateTime格式?
- 21. 正則表達式解析多項式爲monom
- 22. 的JLine多參數解析
- 23. 如何指定更多html解析代碼?
- 24. 指定字符串中數據的格式以及如何解析它?
- 25. TinyXML:如何解析文件指針
- 26. 如何製作解析指針存檔?
- 27. 解析包含多項式的輸入文件
- 28. PHP - 正則表達式的多個選項解析
- 29. SQL數多指標分析
- 30. C:解析選項的正確方式
這不是一個很好的使用情況'split'。設置一個正則表達式匹配器並在循環中使用'find'。 – ajb
你不會。你會寫一個適當的詞法分析器。 XY問題。 – EJP
我將如何設置正則表達式匹配器? – lilypad111