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

String 의 replace 함수 질문!

0 추천
String Main = "number * ~ *";
String Sub[] = {"12", "20"};

for(int i=0; i<Sub.length; i++) {
  Main.replace("*", Sub[i]);
}

 

이렇게하면

모든 "*"가 Sub[0] 으로 바껴요 ㅠㅠ

Main이 "number 12~ 20" 이 되게하려면 어떻게해야할까요?

ygh (520 포인트) 님이 2014년 6월 27일 질문
사용하신 replace는 모든 *를 Sub[i]로 바꾸게될거구요
결과를 안 넣어주시면 루프 반복의 의미가없으실텐데..
for () {
 Main = Main.replaceFirst("\\*", Sub[i]);
}
replaceFirst함수에서는 특정 특문을 허용하지 않습니다. (ex. *)
그래서 \\를 넣어주셔야 인식이 됩니다.

2개의 답변

+1 추천
당연히 그렇게 되겠는데요... replace메소드를 replaceFirst로 바꾸면 되지 않을까 추측합니다...
인연 (31,880 포인트) 님이 2014년 6월 27일 답변
이미 바꿔봣는데 꺼지진않고 응답이 없어져요...
저 메소드 때문에 응답이 없어지던가요? for문이 끝난뒤 바로 로그로 라도 한번 출력 해보시는게...
0 추천
replace쓰지말고

Main = String.format("number %s ~ %s",Sub[0],Sub[1]);
q1212 (26,020 포인트) 님이 2014년 6월 27일 답변
...