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

스트링을 개행문자 만나면 분할하여 저장하고싶어요

0 추천
String.xml의 값을

 

getResource().getString(R.string~~);

 

로 가져왔습니다.

 

꽤 긴문장이고, 문장을 나누기위해 \n나 . 이 삽입되어있습니다.

 

개행문자나 .을 만나면, 예를들어

 

가나다라.\n마바사.\n아자차카.\n타파하.

 

string1 = 가나다라.

string2 = 마바사.

string3 =아자차카.

string4 = 타파하.

 

이렇게 저장하고싶은데 뭘 써야할지 모르겠습니다. 어찌하면되죠?
심슨사랑 (690 포인트) 님이 2015년 5월 21일 질문

2개의 답변

0 추천
   // 구분자는 파싱하고싶은 거. \n 이나 . 가 되겠죠
   StringTokenizer token = new StringTokenizer(문자열, 구분자);
   // 문자열이 더 존재 하는지?
   // \n로 파싱시, 가나다라 다음에 마바사가 존재하므로 while문 동작
   // 타파하. 이후엔 문자열이 없기때문에 while 동작안함.
   while(token.hasMoreTokens()) {
      // 로그캣으로 제대로 파싱됬는지 확인..
      Log.d("Token", token,nextToken();
   }

스트링토크나이져 써서 \n 또는 . 로 파싱하시면 될듯 합니다.

아시리 (8,400 포인트) 님이 2015년 5월 22일 답변
아시리님이 2015년 5월 22일 수정
0 추천
StringTokenizer st = new StringTokenizer(string, "\n");
String[] replaceString = new String[st.countTokens()];
int i = 0;
while (st.hasMoreTokens()) {
      replaceString [i] = st.nextToken();
      i++;
}

 

어렵군요 (5,920 포인트) 님이 2015년 5월 22일 답변
감사합니다. 저는 split으로 해결을 보았습니다만, 토크나이저로 해결하는 방법도 있군요. 감사합니다 토크나이저로도 해보겠습니다.
...