\t Regular Expression이 안먹는 경우


문제점: 다음 아래의 문자열의 탭(\t)이 들어간 모든 공백을 제거하려고 하였다.
String chkLine = "$${Pst0x12002001}          $${CODE}          $${FLASH}          $${INTERN}";
chkLine = chkLine.trim();
예상 했던 결과는 chkLine 문자열이 $${Pst0x12002001}$${}$${CODE}$${FLASH}$${INTERN} 형태로 나올 것이라고 생각했다.
하지만 실제 디버깅 결과,
$${Pst0x12002001}          $${CODE}          $${FLASH}          $${INTERN}
나왔다. Trim() 먹히지 않았던 것이다.

원인: \t 문자가 포함되어 있는 문자열의 경우, trim() 안먹힌다. 따라서 trim() 대신에 replaceAll() 사용하여, 문자를 다른 문자로 치환을 해줘야 한다.
해결책: chkLine.trim()  대신 chkLine.replaceAll("\\s", ""); 사용하면 된다. 여기서"\\s" 공백을 찾아주는 Regular Expression이다.

적용결과:
$${Pst0x12002001}$${CODE}$${FLASH}$${INTERN}






Comments

Popular posts from this blog

$$ Regular Expression이 안먹는 경우

exception in thread main java.lang.unsupportedclassversionerror unsupported major.minor version 52.0

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver