2016-01-03 23 views
-7

我想知道是否有人能幫助我在Java中的小問題: 我有像一些公式文件:準備的int從字符串的文件輸入

Z=1X1+3X2 
-1X1+5X2<=2 
1X1-1X2<=56 

等..

,我想讀取這個文件,並在一個字符串中將值1和3(Z = 1X1 + 3X2)分開,在另一個字符串中分隔-1,5,2,1,-1,56。

+2

到目前爲止你有什麼代碼,你有什麼具體的問題? – KSFT

+0

瞭解如何使用正則表達式,他們可以做到這一點。 –

+1

我投票結束這個問題作爲題外話,因爲[問題要求作業幫助必須包括迄今爲止解決問題所做的工作的總結,以及解決它的難度的描述](http:// stackoverflow .COM /幫助/切合主題)。 – Andreas

回答

2

根據您的需要,它看起來像是可以使用正則表達式或字符串分割正則表達式數字模式,然後過濾掉你需要的東西。

做第一行用於通過分割

匹配1和3

String s = "Z=1X1+3X2"; 
    Pattern p = Pattern.compile("([13])"); 
    Matcher m = p.matcher(s); 
    while (m.find()) { 
     System.out.println(m.group()); 
    } 

String[] split = s.split("\\D"); 
// for every item in array, if 1 or 3 do something with it.. 
+0

我曾嘗試過該選項(拆分),但我得到空白在一些陣列位置的空間,我將需要這個數組將值轉換爲int並使用它們。 –

+0

我的例子只是關於如何獲取數據的概述,您仍然需要根據您需要的格式進行解析和處理。對於'Integer.parseInt',Java有各種實用方法,只是忽略空容器。 –

+0

Omg我完全忘了'Integer.parseInt' xD。感謝您的幫助:D –

0

的實施例可以使用分離的正則表達式的數字分開的字符串。

String[] split = s.split("\\D"); 
相關問題