如何获得字符串的特定部分?

时间:2012-08-14 07:25:53

标签: android string

item1:100

item2:50

item3:200

我想存储单独的商品和价格,并将它们存储在两个不同的数组中:例如在一个数组中,

item1

item2

item3

并在另一个数组中

100

50

200

5 个答案:

答案 0 :(得分:2)

您可以尝试以下代码:

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]);

答案 1 :(得分:1)

您可以使用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

请记住,我只是在这里进行简单的字符串拆分而没有错误处理代码 - 如果您重视健壮的代码,您可能想要添加它,特别是如果您的输入数据可能无效(例如,{{ 1}}将生成"item4:hello")。

答案 2 :(得分:1)

您可以根据自己的要求使用StringTokenizer课程。

StringTokenizer st = new StringTokenizer(yourString, ":");
arrayOne[0] = st.nextToken();
arrayTwo[0] = st.nextToken(); 

答案 3 :(得分:0)

您可以将split()方法用于字符串。

     String[] temp = yourString.split(":");

试试这个。

答案 4 :(得分:0)

Java在字符串中提供split函数。 {item:100}的str.split(":")返回带有元素{"item1","100}的String []。现在只需遍历拆分数组并构建两个部分的组合数组。

来源: http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#split(java.lang.String