PHP

[JAVA] 괄호 안의 특정 문자열 추출 방법 (정규식 regexp 사용) , 숫자인지 문자열인지 판별 방법

미스털이 사용자 2023. 8. 30. 12:20
반응형

다음과 같이 문자열이 있다고 하자.

테스테스트 테스트 (ver: 30)

 

위의 문자열에서 30이란 숫자만 추출하고 싶을 때엔 어떻게 해야할까?

그리고 (ver:abc)와 같이 돼있는 문자열에서 abc가 추출됐다고 할경우 이것이 숫자인지를 판별하는 방법은 뭘까?

 

1) 특정 문자열 추출

int res_ver = 0;
String tmp_string = "";
String tmp_s = "테스테스트 테스트 (ver: 30)";
Pattern p = Pattern.compile("\\(ver:(.*?)\\)");
Matcher matcher = p.matcher(tmp_s);

if(matcher.find()) {
    tmp_string = matcher.group(1).trim();    
}
 

다음과 같이 하면 tmp_string의 값은 "31"로 정상 추출된다.

 

2) 숫자, 문자열 판단

public static boolean isNumeric(String strNum) {
    if (strNum == null) {
        return false;
    }
    try {
        double d = Double.parseDouble(strNum);
    } catch (NumberFormatException nfe) {
        return false;
    }
    return true;
}
 

위의 함수를 만들어서 아래에 적용시키면 된다.

if(isNumeric(tmp_string)) {
    res_ver = Integer.parseInt(tmp_string);
}
 

 

 

반응형