문자열을 원하는 구분자(delimiter)를 사용하여 분리하고 싶을 때

StringTokenizer 와 String 메소드 split() 를 사용할 수 있습니다.

 

같지만 다른 두 가지 방법에 대해서 알아보도록 하겠습니다.

(예제에서는 구분자로 콤마(,) 를 사용하였습니다.)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class StringDivideTest {
    public static void stringTokenizerTest(String str) {
        System.out.println("====== stringTokenizerTest() result ======");
        StringTokenizer tokenizer = new StringTokenizer(str, ",");
        for (int i = 0; tokenizer.hasMoreTokens(); i++) {
            System.out.println(i + "번째 : " + tokenizer.nextToken());
        }
    }
 
    public static void splitTest(String str) {
        System.out.println("====== splitTest() result ======");
        String split[] = str.split(",");
        for (int i = 0; i < split.lenght; i++) {
            System.out.println(i + "번째 : " + split[i]);
        }
    }
 
    public static void main(String[] args) {
        String str = "apple,banana,kiwi";
        stringTokenizerTest(str);
        System.out.println();
        splitTest(str);
    }
}
cs

 

 

(1) 일반적인 상황 (데이터+구분자+데이터

=> 동일하게 동작합니다.

String str = "apple,banana,kiwi";

  

<결과>

======= stringTokenizerTest() result =======
0번째  : apple
1번째  : banana
2번째  : kiwi

 

======= splitTest() result =======
0번째  : apple
1번째  : banana
2번째  : kiwi 

 

 

(2) 구분자 사이에 데이터가 없는 경우(데이터+구분자+구분자+데이터

=> split 만 공백의 데이터를 반환합니다.

String str = "apple,banana,,kiwi";

 

<결과>

======= stringTokenizerTest() result =======
0번째  : apple
1번째  : banana
2번째  : kiwi

 

======= splitTest() result =======
0번째  : apple
1번째  : banana
2번째  :
3번째  : kiwi

 

 

(3) 문자열이 구분자로 끝나는 경우 (데이터+구분자)

=> 동일하게 마지막 데이터를 무시하는 방식으로 동작합니다.

마지막 데이터도 표현하고 싶은 경우 split 를 통해서(오버로딩된 다른 메소드) 가능합니다. 
String str = "apple,banana,kiwi,";

 

<결과>

======= stringTokenizerTest() result =======
0번째  : apple
1번째  : banana
2번째  : kiwi

 

======= splitTest() result =======
0번째  : apple
1번째  : banana
2번째  : kiwi

 

 

(4) 문자열이 구분자로 끝나는 경우 (데이터+구분자) - 마지막 데이터를 표현하고 싶을 경우

String str = "apple,banana,kiwi,";

String split[] = str.split(",", -1);

 

<결과>

======= stringTokenizerTest() result =======
0번째 : apple
1번째 : banana
2번째 : kiwi

 

======= splitTest() result =======
0번째  : apple
1번째  : banana
2번째  : kiwi
3번째  :

 

 

split 메소드는 인자로 regex(정규표현식) 사용하기 때문에

속도적인 측면에서는 StringTokenizer 가 더 성능을 좋다고 볼 수 있습니다.

하지만 예제와 같이 가변적인 요소가 많은 문자열이나 정확한 분리가 필요할 때에는 split 메소드를 사용하는 것이 유용합니다.

 

 

Posted by maze1008
,

요새는 가입 후 2년간 방치했던 블로그를 열심히 해보려고 노력 중입니다.

 

하지만 착실한 포스트에도 도무지 늘지 않는 방문자수!

 

관리자 메뉴에서 유입 경로를 확인해 보았더니 모두 다음 검색을 통해서만 오신 분들 뿐이었습니다.

 

우리나라에서 가장 많은 검색을 담당한다는 네이버를 통해서도

 

해외까지 포함하면 최고의 검색 사이트라는 구글을 통해서도

 

제 블로그를 찾아주신 분들이 하나도 없다니...

 

그러던 중에 네이버에서 검색이 되기 위해서는 블로그 검색 등록을 요청해야 한다는 사실을 알게 되었지요.

 

열심히 정보를 입력하고 next 버튼을 눌러서 네이버 고객센터로 전송했지만

 

다음날 받은 메일에는

 

"고객님께서 요청하신 블로그 피드에는 등록된 게시물이 없어 검색 반영이 어렵습니다."

 

 

제 블로그에는 무려 30여개의 글이 작성되어 있는데 왜 글이 없다는 걸까요?

 

 

뭐야? 뭐야! 를 외치며 링크를 클릭해 보았습니다.

 

http://maze1008.tistory.com/rss

 

 

진짜? 진짜! 글이 하나도 없었습니다.

 

네이버 고객센터에서는 진실만을 말한 것이었어요.

 

 

RSS FEED 에 게시물을 등록하기 위해서는 다음과 같은 작업이 필요합니다.

 

1. 관리자 메뉴로 들어갑니다.

 

2.  좌측 사이드 > 글 관리 > 글 설정을 클릭합니다.

 

 

공개 정책의 하위메뉴로 RSS 가 있는 것을 볼 수 있습니다.

 

 

 

공개글, 전체 공개를 선택

공개 갯수는 최대치인 30 ~ 50개 사이를 설정해 주시면 됩니다.

확인 버튼을 클릭합니다.

 

 

 

블로그 홈으로 돌아오셔서, 좌측 하단에 위치한  RSS FEED 버튼을 클릭합니다.

 

 

 

블로그에 위치한 모든 글들이 RSS 에서도 검색되는 것을 확인 할 수 있습니다.

(실제로 리스트에는 공개 갯수로 설정한 만큼의 글만 보여집니다.)

 

 

다시 네이버 고객센터에 블로그 검색 등록을 요청해 보아야 겠습니다. 도전!! 

네이버에 티스토리 블로그 등록하는 방법 (네이버 웹마스터도구 사용)

 

Posted by maze1008
,

티스토리에 가입한 지 어느새 2년이 흘렀습니다.

 

처음 가입하고자 했을 때는 초대장이 필요하다는 것이 매우 생소했었죠.

 

자주 사용하는 다음, 네이버, 구글 등 어느 곳에서도 (물론 대부분이 검색 or 카페) 가입을 위해서 초대장을 요구 하지는 않았으니까요!

 

 

초대장을 받기 위해 주변 지인들 중에서 블로그를 운영하는 사람을 찾아보았지만

 

불행히도 제 주변에는 블로그를 운영하는 사람이 없었습니다.

 

그래서 티스토리 홈페이지를 방문한 후 초대장을 나누어 주시는 분들께

 

블로그를 개설하고 싶은 이유를 댓글과 메일로 열심히 어필했습니다.

 

다행히 마음씨 좋은신 분 덕분에 티스토리 가입에 성공할 수 있었습니다.

 

 

 

 

제 주변에서도 일 년에 몇 번씩 티스토리 초대장을 찾고 있는 사람들을 보게 됩니다.

 

하지만 제가 이런저런 이유로 블로그를 열심히 운영하지 못해서

 

저에게는 배포할 수 있는 초대장이 없어 안타깝게도 도움을 드리지 못했었습니다.

 

그런 지인분들께 미안한 마음에 열심히 찾다보니 다른 길이 보였습니다.

 

바로바로 티스토리 앱 입니다.

 

 

 

 

티스토리를 스마트폰에서도 사용 할 수 있도록 안드로이드 / 아이폰 앱이 개발되었습니다.

 

티스토리 앱을 다운받아 앱에서 회원가입을 하면 자동으로 초대장을 1개 제공해 주기 때문에

 

바로 블로그 개설이 가능합니다.

 

 

 

더 자세한 내용은 아래 링크를 참고해 주시기 바랍니다.

 

안드로이드 :  http://notice.tistory.com/2189

 

아이폰 : http://notice.tistory.com/2194

 

 

혹시라도 예전의 저처럼 초대장을 찾아 헤매고 계시다면 아주 유용하겠죠.

 

이제 여러분의 티스토리 블로그를 시작해 보세요!!

 

 

Posted by maze1008
,