Java中可以使用正则表达式或者字符串函数来将字符串的数字分开。具体的方法有以下几种:

  1. 使用正则表达式分割字符串: 我们可以使用正则表达式来将字符串中的数字分割成单个的数字,然后将这些数字存储在一个数组中。下面是一个示例代码:
String str = "abc123def456ghi";
String[] numbers = str.split("\\D+");

for (String number : numbers) {
    System.out.println(number);
}

运行上面的代码,输出结果为:

123
456

这里使用了split()方法和正则表达式\\D+split()方法根据指定的正则表达式将字符串分割成子字符串,并返回一个字符串数组。正则表达式\\D+表示匹配除了数字以外的任意字符。因此,通过这个正则表达式,我们可以将字符串中的数字分割出来。

  1. 使用正则表达式提取字符串中的数字: 如果我们只想得到字符串中的数字而不是分割成单个的数字,可以使用正则表达式提取数字。下面是一个示例代码:
String str = "abc123def456ghi";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(str);

while (matcher.find()) {
    System.out.println(matcher.group());
}

运行上面的代码,输出结果为:

123
456

这里使用了Pattern类和Matcher类来进行正则表达式的匹配和提取。Pattern.compile("\\d+")表示编译一个匹配连续数字的正则表达式,Matcher类的find()方法用于查找字符串中与正则表达式匹配的子字符串,group()方法返回匹配到的子字符串。

  1. 使用字符串函数遍历字符串并判断字符是否为数字: 我们可以遍历字符串中的每个字符,然后使用Character.isDigit()函数来判断字符是否为数字。如果是数字,则将其添加到结果字符串中。下面是一个示例代码:
String str = "abc123def456ghi";
StringBuilder numbers = new StringBuilder();

for (int i = 0; i < str.length(); i++) {
    char c = str.charAt(i);
    if (Character.isDigit(c)) {
        numbers.append(c);
    }
}

System.out.println(numbers.toString());

运行上面的代码,输出结果为:

123456

这里使用了StringBuilder类来构建结果字符串。遍历字符串中的每个字符,使用charAt()函数获取字符,然后使用Character.isDigit()函数判断字符是否为数字,如果是数字,则将其添加到StringBuilder对象中。最后,通过toString()方法将StringBuilder对象转换为字符串输出。

综上所述,通过使用正则表达式或者字符串函数,我们可以将字符串中的数字分割或提取出来。根据具体的需求,选择合适的方法来处理字符串中的数字。