\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
Post a Comment