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

특정글자만 색 바꾸는거 어떻게 하나요?

0 추천
찾아보니까 SpannableStringBuilder를 사용하면 된다던데

이것들은 색 바꾸는 위치를 정해서 그부분만 바꾸던데 제가 원하는 것은

예를 들어 문장중에서

'안녕'이라는 단어는 다 바꾸고 싶어요

서버에서 받아오는거라 어느위치에 있을지 모르고

한문장에 저 단어가 2개 이상 있을 수도 있구요

어떻게 해야하나요.....

 

아 그리고 제가 그 문장에서 단어가 시작하는 위치를 구해서 끝나는 위치를 했거든요

근데 2개이상일땐 어떻게 해야할 지 모르겠어요 ㅠㅠ

도와주세요
꿀떡 (2,700 포인트) 님이 2017년 10월 13일 질문

2개의 답변

0 추천
 
채택된 답변
String text= "안녕하세요 반갑습니다 안녕하세요~";

int position = text.indexOf("안녕");

ArrayList<Integer> myArray = new ArrayList<Integer>();

while(position>=0)

{

Log.e("position:",position+"");

myArray.add(position);

position = text.indexOf("안녕",position+1);

}

이런식으로 하면 되지 않을까요.

indexof로 반환하다가 더 이상 값이 없으면 while문을 나갑니다.

이렇게 하면 안녕 시작값이 0,12값이 나오는데 원하는 검색어 길이에 맞춰서 변환하세요.

단어가 여러개일 수도 있으니 for문 등으로 반복하시면 될 듯.
망고사탕 (5,000 포인트) 님이 2017년 10월 13일 답변
꿀떡님이 2017년 10월 13일 채택됨
0 추천
while문 돌려서 계속 바꾸는식으로 하시면 되여

indexOf로 안녕 위치 찾은다음에 바꿔주시고

indexOf("안녕", 문장의 시작);

또다시 indexOf("안녕", 첫번째 안녕 끝나는 지점부터);
익명사용자 님이 2017년 10월 13일 답변
아... ㅜㅜ 죄송한데 그럼 while 문은 조건문이 어떻게 될까요.....이해가 좀 안되서요ㅠㅠ
...