주어진 문자열의 경우 : "1 22a 34 718 u3ou1." 목적은이 경우에는이 같은 그것을 시도 1, 34, 718이다 만 INT 값을 찾는 것이다 이러한문자열의 정수 값만 가져오고 두 번째 최대 값을 찾습니다.
String str = "1 22a 34 718 u3ou1.";
str = str.replaceAll("[^-?0-9]+", "*");
System.out.println(Arrays.asList(str.trim()));
출력은 : 1 22 34 718 3 1]. 출력은 [1 34 718]이어야합니다. 누군가가 버그를 찾을 수 있습니까?
숫자가 아닌 숫자를 숫자로 바꾸지 않습니까? – azurefrog
문자 + 숫자를 포함하는 모든 부분은 무시해야합니다. – progress190
하지만 그럴 수는 없습니다. 문자를 포함하고있는 문자를 제거하는 부분을 가져 와서 "실제"숫자와 무시해야 할 문자를 구별 할 방법이 없습니다. – azurefrog