9. 숫자만 추출
문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만드는 프로그램
입력) 첫 줄에 숫자가 섞인 문자열이 주어집니다. 문자열의 길이는 100을 넘지 않습니다.
출력) 첫 줄에 자연수를 출력합니다.
1. 아스키 코드 이용
import java.util.Scanner;
public class Main {
public static int solution(String str) {
int answer = 0;
for(char x : str.toCharArray()) {
// 0~9의 아스키코드값 : 48~57
if (x>=48 && x<=57) answer = answer*10 + (x-48);
}
return answer;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
System.out.println(solution(str));
}
}
2. Character.isDigit() 이용
import java.util.Scanner;
public class Main {
public static int solution(String str) {
String answer = "";
for(char x : str.toCharArray()) {
if (Character.isDigit(x)) answer += x;
}
return Integer.parseInt(answer);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
System.out.println(solution(str));
}
}
3. replaceAll() 이용
import java.util.Scanner;
public class Main {
public static int solution(String str) {
String answer = "";
answer = str.replaceAll("[^0-9]", ""); // 문자형 숫자가 아닌 것 제거
return Integer.parseInt(answer);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
System.out.println(solution(str));
}
}
결과
입력
st0Ud93y0Ha12rd6
출력
930126
댓글