从String创建int []数组(仅限正整数)

use*_*008 2 java arrays string substring replaceall

嘿,我在从Strings创建一个int []数组时遇到了麻烦,它应该只包含String中的正整数.

它应该做这样的事情:

INPUT: ("-5, 20,  abc, -20, defg, 45ab67, 23")
OUTPUT: [20,23]
Run Code Online (Sandbox Code Playgroud)

我不知道如何删除这个子串"45ab67".我试过用

Character.isDigit(c);
and
myString.replaceAll("[^\\d,-]", "");
Run Code Online (Sandbox Code Playgroud)

它没有那么好用......

thx提前

Mas*_*dul 5

尝试,

 String input = "-5, 20, abc, -20, defg, 45ab67, 23";
 String[] arr = input.split(",");
 for (String num : arr) {
      if (num.trim().matches("\\d+")) {
        System.out.println(num);
      }
 }
Run Code Online (Sandbox Code Playgroud)