Java 代码:从字符串中提取数字范围
Java 代码:从字符串中提取数字范围
本文介绍如何使用 Java 代码从字符串中提取数字范围,例如从字符串 'Eth-Trunk0 trunk 1 10 21 23 40 100-102 200-204' 中提取 '10 21 23 40 100-102 200-204' 并将每个数字或范围分别存入字符串数组中。
您可以使用 Java 的字符串分割和正则表达式来实现将字符串截取存入字符串数组的功能。下面是示例代码:
public class Main {
public static void main(String[] args) {
String ethTrunk = "Eth-Trunk0 trunk 1 10 21 23 40 100-102 200-204";
// 使用正则表达式将字符串按空格分割成数组
String[] splitArray = ethTrunk.split(" ");
// 获取需要截取的字符串部分
String trunkString = splitArray[3];
// 使用正则表达式将字符串按空格分割成数组
String[] trunkArray = trunkString.split(" ");
// 存储截取的字符串结果的数组
String[] resultArray = new String[trunkArray.length];
// 遍历截取的字符串数组
for (int i = 0; i < trunkArray.length; i++) {
String element = trunkArray[i];
// 如果字符串包含'-”,表示为范围
if (element.contains("-")) {
// 使用正则表达式将范围字符串按'-'分割成数组
String[] rangeArray = element.split("-");
// 获取范围的起始和结束数字
int start = Integer.parseInt(rangeArray[0]);
int end = Integer.parseInt(rangeArray[1]);
// 遍历范围的数字,将每个数字存入结果数组
for (int j = start; j <= end; j++) {
resultArray[i++] = String.valueOf(j);
}
} else {
// 字符串不包含'-”,直接存入结果数组
resultArray[i] = element;
}
}
// 输出结果数组的内容
for (String result : resultArray) {
System.out.println(result);
}
}
}
运行以上代码,将会输出以下结果:
10
21
23
40
100
101
102
200
201
202
203
204
注意:以上代码假设输入字符串的格式是固定的,并且第四个元素是需要截取的字符串。如果输入字符串的格式有变化,您可能需要根据实际情况进行适当的修改。
原文地址: https://www.cveoy.top/t/topic/LyK 著作权归作者所有。请勿转载和采集!