我正在寫一個程序做載體功能不同的計算,但該方案我有截至目前劃定的負面數字。我一直在使用不同的分隔符嘗試,但我似乎無法得到正確的一個。如何分割字符串成只有正和負整數?
有誰知道如何分割字符串時保持正面和負面的數字?另外,有沒有辦法保留任何十進制值? 0.45將返回45和0.29將返回29
這是代碼:
ArrayList<Integer> list = new ArrayList<Integer>();
String twoVectors = "a=<-1,2,-3> b=<4,-5,6>"; // vector and a and b
String[] tokens = twoVectors.split("\\D");
for (String s : tokens)
if (!s.equals(""))
list.add(Integer.parseInt(s));
System.out.println(Arrays.toString(list.toArray()));
當我運行程序我得到代替[1,2,3,4,5,6] [ -1,2,-3,4,-5,6]。所有的功能我已經做完美的罰款,但使用負值時不工作。
任何幫助,將不勝感激。
與正則表達式,你可以很容易地使用' - ?\ d' – ultrajohn
我不會依賴於在這裏拆分,但如果你只有整數和字符串格式良好,你真的可以使用'.split(「[^ 0-9 - ] +「)'。爲了擺脫第一個空元素,首先使用'.replaceFirst(「^ [^ 0-9 - ] +」,「」)''。 –