본문 바로가기

프로그래밍/JAVA

[자바] String변수 '.' split 혹은 replace 할때 주의

자바 string타입 변수를 split 또는 replace할때   '.'을 기준으로 하면 아래와 같이 원하던 동작이 안나온다.

 

(String).split('.'); 하면 .으로 split되는게 아닌 아무것도 없는 [] 배열을 리턴.

(String).replace('.', 'aaa'); 를 하면 .만 바꿔주지 않고 모든 문자열을 aaa로 바꿔버림. (개행문자인 \n은 제외라는듯)

 

원인은 '.'이 정규식으로 취급이 되서 그렇고

'.' 대신에  '\\.'으로 해줘야한다

'\'도 정규식 취급이 되서 \ 두개 붙여야 함

 

-사족

몇달전에 이걸로 한참 고생해놓고는 이번주에 또 그냥 썻다가 에러났어서 다음엔 까먹지 않으려고 기록해놓음

앞으로 일하다 새로 배운것들은 잊기전에 다 써놔야지