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

웹 파싱에 대한 질문입니다..

0 추천
안녕하세요 현재 웹 파싱을 연습하고 있는데요.

 

커넥트 해서 어떤 문구를 가져오는 것 까지는 성공했습니다.

a href를 가져온다고 하면

 

<a href="123.cgi?id=joondev&pw=1123&flags=flagValue1" >

<a href="123.cgi?id=joondev&pw=1123&flags=flagValue2">

이 문구 까지는 불러오는 데 성공하였는데

저 a 태그 안에 flags= 뒤에 있는 값만 (여기서는 flagValue1, 2에 해당) 필요할 경우 어떻게 처리해야할까요..?

flags 의 값은 태그마다 다 다릅니다..

다른 문구 말고 flags= 뒤에 있는 값만 필요합니다..

지금은 예제 문구라 제가 짧게 작성했구요.. 태그 값이 엄청 길어서...
joondev (440 포인트) 님이 2014년 1월 14일 질문

3개의 답변

0 추천
일일히 잘라내야지요

indexOf 로 위치 얻어서요 substring 으로 잘라내면 됩니다.
aucd29 (218,390 포인트) 님이 2014년 1월 14일 답변
substring은 숫자 값을 적어서 하는 걸로 알고 있는데요..
substring(1, 4); 이런 식으로..
근데 뒤에 값이(flagValue) 랜덤이라 글자 길이가 어느정도까지 생성되는지 모르는데
이러는 경우에는 어떻게 해야되는건가요?
문자열의 전체길이를 알고 계십니다
str.length() 로 말이지요
0 추천

이런류의 문자열 파싱할때는 정규표현식을 사용합니다.

flag값이 어떤 문자열들로 이루어지는지 모르겠지만

flags=[a-zA-Z0-9]+ 이런식으로 적당한 표현을 만들어서

Pattern 과 Matcher 를 이용해 flags 부분만 찾아낸 다음 처리하는 것이 좋습니다.

b22n (22,940 포인트) 님이 2014년 1월 21일 답변
0 추천
?로 split 해서 주소 부분을 날리고, &로 다시 split 해서 [키=값] 형태로 만든 다음에, =으로 split해서 hash map 으로 만들어도 되겠네요
쎄미 (162,410 포인트) 님이 2014년 1월 21일 답변
...