这里我有这种类型的字符串,我想将此字符串拆分为每个元素,并希望为数字创建一个arraylist(整数)或一个整数数组.
我有这样的字符串作为一个例子: 123|00,124|01,125|00,126|01
我想先在一个包含的列表中分隔所有元素
123|00
124|01
125|00
126|01
Run Code Online (Sandbox Code Playgroud)
之后我想制作一个只有的整数数组列表或整数数组
123
124
125
126
Run Code Online (Sandbox Code Playgroud)
请任何人都可以建议我怎么做
谢谢
码:
List<Integer> numberList = new ArrayList<Integer>();
HashMap<Integer, Integer> statusMap = new HashMap<Integer, Integer>();
for (String tripnumber : tripNumbers) {
int number = Integer.parseInt(tripnumber.split("[|]")[0]);
Logger.d(TAG, "Trip number in Status Message = "+number);
int flag = Integer.parseInt(tripnumber.split("[|]")[1]);
Logger.d(TAG, "TM flag = "+flag);
if (number > 0) {
statusMap.put(number, flag);
numberList.add(number);
}
}
Run Code Online (Sandbox Code Playgroud)
String str = "123|00,124|01,125|00,126|01";
// Split on `|` or `,` and then take every alternate element.
String[] tokens = str.split("[|,]");
List<Integer> intList = new ArrayList<Integer>();
for (int i = 0; i < tokens.length; i = i + 2) {
intList.add(Integer.parseInt(tokens[i]));
}
Run Code Online (Sandbox Code Playgroud)
更新: -
如果你用|和分隔的值不一致,,那么你需要分别拆分它们: -
String str = "123|00,125|,126|01,|,";
String[] tokens = str.split(",");
Map<Integer, String> flagMap = new HashMap<Integer, String>();
for (String token: tokens) {
String[] arr = token.split("[|]");
if (arr.length == 0) {
continue;
}
if (arr[0].length() > 1) {
if (arr.length == 2) {
flagMap.put(Integer.parseInt(arr[0]), arr[1]);
} else {
flagMap.put(Integer.parseInt(arr[0]), "");
}
}
}
System.out.println(flagMap);
Run Code Online (Sandbox Code Playgroud)
输出: -
{126=01, 125=, 123=00}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6885 次 |
| 最近记录: |