2012-12-21 4 views
0

입력이 단일 숫자 또는 이중 숫자가 될지 모를 때 Java에서 서수 값을 제거하는 것이 가장 좋은 방법을 아는 사람이 있는지 궁금합니다.Java에서 날짜에서 서수 값을 제거하는 방법

입력 : 23

예상 출력 : 23


입력 : 1

예상 출력 : 1


는 지금까지 내가 시도 유

String dayValue = ""; 
String dayPattern = "(?<=[0-9])(?:st|nd|rd|th)"; 
Pattern dPattern = Pattern.compile(dayPattern); 
Matcher dMatch; 

dayValue = "23rd"; 
dMatch = dPattern.matcher(dayValue); 
System.out.println("The Pattern is: " + autoBuyDay.substring(dMatch.start())); 

하지만 그건 단지 나에게 No match available error을주고 : 정규식 폴더의 유틸리티의 조합 문자열 방법을 노래. 이 목표를 달성하는 방법이나 더 나은 방법을 수정하는 방법에 대한 아이디어가 있습니까?

+0

http://stackoverflow.com/questions/6182290/regex-to-remove-ordinals –

+0

의 중복하지만 그건 자바 아마, PHP와 루비와 함께 작동하는 것으로 보인다는 ... –

+0

그래 나는 것을보고,하지만 난 어떤 자바 특정 예제를 보지 못했습니다. –

답변

1
inputString.replaceAll("\\D", ""); 

문자열에서 모든 비 숫자 문자를 제거합니다.

+1

이렇게하면 '-'또는 '.'처럼 구분 기호도 제거됩니다. 또는 '/'... 또는 단어로 표현 된 달 –

+0

@Aurand 그것은 위대한 일을 한 것 같습니다. 내가 하하를 추락하고 있었던 길보다 명확히 훨씬 쉽다. 고맙습니다. 정말 당신이 자바에서 정규식으로 그 일을 할 수 있는지 궁금 할 것입니다,하지만 그건 더 이상 우선 순위가 아닙니다. –

+1

@ This0nePr0grammer -이 답변 ** 않습니다 ** 자바에서 정규식을 사용합니다. – jahroy