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