gpt4 book ai didi

Java从包含分隔符和范围符号的字符串中提取整数

转载 作者:行者123 更新时间:2023-12-01 12:15:46 25 4
gpt4 key购买 nike

是否有一个库可以帮助我通过分隔符和范围标记将字符串拆分为整数?例如

values="32,38,42-48,84"

输出:
int[] = 32,38,42,43,44,45,46,47,48,84

最佳答案

您可以使用字符串类的内置java函数(例如split和contains)来实现它。为了将 string 转换为 int,请使用 Integer.parseInt。例如

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class SimpleParser {

public static void main(String[] args) {
String input = "32,38,42-48,84";
String[] chunks = input.split(",");

System.out.println(Arrays.toString(chunks));
List<Integer> ints = new ArrayList<>();
for (String chunk : chunks) {
if (chunk.contains("-")) {
String[] rangeChunks = chunk.split("-");

if (rangeChunks.length != 2) {
throw new IllegalArgumentException("Invalid range");
}

for (int i = Integer.parseInt(rangeChunks[0]); i <= Integer.parseInt(rangeChunks[1]) ; i++) {
ints.add(i);
}

}else {
ints.add(Integer.parseInt(chunk));
}
}

System.out.println(ints);
}
}

输出

[32, 38, 42, 43, 44, 45, 46, 47, 48, 84]

关于Java从包含分隔符和范围符号的字符串中提取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27016413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com