마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 replace 사용

0 추천
String msg = "hello(역슬러시n)test";

System.out.println(msg.replace("(역슬러시n)", ""));

 

개행문자에서 역슬러시가 안써져서 (역슬러시n)으로 표현했습니다.

위의 테스트 코드 입니다만.. 일반 java프로젝트에서는 replace에서 개행문자가 삭제되서 한줄로 출력이 됩니다..

근데 안드로이드에서 똑같이 사용하면 replace에서는 개행문자가 변환되지 않습니다... 이게 도대체.. 왜.. 제가 뭘 잘못 알고 있는건가요.. 삽질 그만 할 수 있도록 도와주세요 ㅜㅜㅜ
익명사용자 님이 2014년 9월 26일 질문
2014년 9월 26일 수정

1개의 답변

0 추천
 
채택된 답변
String msg = "hello\nest";
String msg2 = msg.replace("\n", "qqq");
Log.i("MainActivity.java | msg", "==================|" + msg2 + "|");

이렇게하면 

I/MainActivity.java | msg(19136): ==================|helloqqqest|

이렇게 잘 나오는데요?

쎄미 (162,410 포인트) 님이 2014년 9월 26일 답변
일단 해결 하긴 했는데, 저는 msg.replace("\\n", "qqq");
하니 되더라구요;; 역슬러시를 하나만 하면 못찾고 두개넣으니 찾던데..
왜 역슬러시를 2개 붙여야 찾아지는 이유를 잘 모르겠네요;;

조금 추가하자면.. "hello\nest"라는 개행문자가 들어있는 문자열을 DB로 부터 꺼내오는데 이거랑 무슨 관계가 있을까요?
두개 넣어야하는거면 관계 있을겁니다. db에서는 큰따옴표를 특수문자 따옴표로 바꾸는 작업을 하는 것도 있으니까 아마 개행문자를 보통 문자로 바꿨을 것 같네요
글쿤요... 답변 고맙습니다.
...