写一段Java代码,将一个仅包括英文字母和数字的字符ab123cd4ef5g分成两个数组,一个数组是连续数字,一个数组是连续字母输出为[["123", "4", "5", [ab", "ed", "ef", "g")
时间: 2024-04-01 10:29:58 浏览: 19
你可以使用正则表达式来实现这个功能。以下是一个示例的Java代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SplitString {
public static void main(String[] args) {
String input = "ab123cd4ef5g";
List<String> numberList = new ArrayList<>();
List<String> letterList = new ArrayList<>();
Pattern numberPattern = Pattern.compile("\\d+");
Matcher numberMatcher = numberPattern.matcher(input);
while (numberMatcher.find()) {
numberList.add(numberMatcher.group());
}
Pattern letterPattern = Pattern.compile("[a-zA-Z]+");
Matcher letterMatcher = letterPattern.matcher(input);
while (letterMatcher.find()) {
letterList.add(letterMatcher.group());
}
System.out.println("连续数字数组:" + numberList);
System.out.println("连续字母数组:" + letterList); }
}
```
运行以上代码,输出结果为:
```
连续数字数组:[123, 4, 5]
连续字母数组:[ab, cd, ef, g]
```