item1:100
item2:50
item3:200
我想要存儲單獨的項目和價格,並將它們存儲在兩個不同的陣列:就像一個陣列,如何獲取字符串的特定部分?
item1
item2
item3
,並在另一個陣列
100
50
200
item1:100
item2:50
item3:200
我想要存儲單獨的項目和價格,並將它們存儲在兩個不同的陣列:就像一個陣列,如何獲取字符串的特定部分?
item1
item2
item3
,並在另一個陣列
100
50
200
你可以試試下面的代碼:
String DELIMITER = ":";
ArrayList<String> arrItems = new ArrayList<String>();
ArrayList<Integer> arrPrices = new ArrayList<Integer>();
然後,你可以分割字符串和ArrayList中相關的值存儲爲:
String[] strTemp = "item1:100".split(DELIMITER);
arrItems.put(strTemp[0]);
arrPirces.put(strTemp[1]);
嘿thanx哥們哇喔! – amg 2012-08-14 09:52:52
您可以使用split
分離基於另一個字符串的字符串(實際上是一個正則表達式):
String str = "item1:100";
String[] words = str.split (":");
從那裏開始,將words[0]
添加到一個數組並將words[1]
添加到另一個數組中很簡單。
下面的完整程序顯示了它是如何做:
import java.util.ArrayList;
class Test {
private static ArrayList<String> items = new ArrayList<String>();
private static ArrayList<Integer> values = new ArrayList<Integer>();
private static void addToArray (String str) {
String[] words = str.split(":");
items.add(words[0]);
values.add(new Integer (words[1]));
}
public static void main(String[] args) {
addToArray ("item1:100");
addToArray ("item2:50");
addToArray ("item3:200");
for (int i = 0; i < items.size(); i++)
System.out.println ("Item = " + items.get(i) +
", value = " + values.get(i));
}
}
輸出:
Item = item1, value = 100
Item = item2, value = 50
Item = item3, value = 200
請記住我只是在做簡單的字符串分割這裏沒有錯誤處理代碼 - 你可能想要補充的是,如果您重視可靠的代碼,特別是如果有可能您的輸入數據可能無效(例如,"item4:hello"
將生成java.lang.NumberFormatException
)。
您可以使用split()
字符串的方法。
String[] temp = yourString.split(":");
試試這個。
您可以根據您的要求使用StringTokenizer
類。
StringTokenizer st = new StringTokenizer(yourString, ":");
arrayOne[0] = st.nextToken();
arrayTwo[0] = st.nextToken();
Java提供的分割功能在字符串中。 str.split(":")
爲「item:100」返回一個字符串[],元素爲{"item1","100}
。現在只需遍歷拆分數組並構建這兩部分的組合數組。
來源: http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#split(java.lang.String)
你的問題很相似,http://stackoverflow.com/questions/7925726/split-string-in-java-for-delimiter,但使用的是:作爲分隔符。另外,關於字符串拆分在android上的另一個問題:http://stackoverflow.com/questions/3732790/android-split-string – 2012-08-14 07:33:18
@Coral,我不會稱這第一個愚蠢的,因爲它不是真的如何拆分字符串,這更是爲什麼'^'在分割時不起作用。第二個比較接近。其實太近了。我將不得不在這一次進行近距離投票。 – paxdiablo 2012-08-14 07:44:28
你的輸入字符串存儲在哪裏?這也是一個'String'對象還是來自一個文件? – sunil 2012-08-14 07:46:30