2022년 2월 20일 일요일

Java 문자열 분리 방법

 오늘 포스팅 할 내용은 Java 에서 문자열을 특정 기호로 분리 하여 별도 클래스로 저장하고

출력하는것을 알아 보겠습니다.

기본적인 Java 콘솔 개발 환경 구축은 아래 링크에서 확인 하시기 바랍니다.

Visual Studio Code Java Console 개발환경 구축(Windows)


작성을 위해서 기본적인 문자열 예시를 들겠습니다.

"Title=Blog@Writer=Berdo@PostDate=20220120"

기본 문자열은 위와 같습니다.

그냥 읽어보면 3개의 항목으로 키/값으로 분리 된것으로 보일겁니다.

Java 특성상 두개의 클래스 java 파일로 분리 되어 코드가 작성 될것입니다.

두개의 코드를 먼저 보시고 나머지 설명을 이어 가겠습니다.


public class Java_StrParseSam01 {
    public static void main(String[] args)
    {
        String sOrgSrc = "Title=Blog@Writer=Berdo@PostDate=20220120";
        PostItem item = new PostItem();
        item.doMakePostItem(sOrgSrc);

        System.out.println("==============================");
        System.out.println(String.format("BlogItem Title: %s", item.sTitle));
        System.out.println(String.format("BlogItem Writer: %s", item.sID));
        System.out.println(String.format("BlogItem Date: %s", item.sDate));
        System.out.println("==============================");
    }
}
<Java_StrParseSam01.java>


public class PostItem
{
    String sTitle;
    String sID;
    String sDate;

    public void doMakePostItem(String sOrgStr)
    {
        String[] arrParse = sOrgStr.split("@");

        for(Integer i=0; i<arrParse.length; i++)
        {
            String arrItem[] = arrParse[i].split("=");

            if(arrItem[0].equals("Title"))
                sTitle = arrItem[1];
            else if(arrItem[0].equals("Writer"))
                sID = arrItem[1];
            else if(arrItem[0].equals("PostDate"))
                sDate = arrItem[1];
        }
    }
}
<PostItem.java>

java 시작은 main 함수에서 시작 되기 때문에 main 함수에서

PostItem 클래스에 인스턴스를 생성합니다.

생성한 PostItem 에 문자열을 파싱하여 클래스 내부 아이템에 할당하는 코드가 들어 갑니다.

함수명은 doMakePostItem 이라고 명명 하였습니다.

java 기본 클래스 String에서 문자열을 분리하기 위함 함수가 제공 됩니다.

split 이라는 함수이고 리턴값은 String[] Array 형태로 리턴됩니다.

위 doMakePostItem 에서 '@' 문자로 선분리 하고 개별 아이템을 다시 '=' 문자로 분리 하여

PostItem 클래스 내부 변수에 담는 로직이 들어가 있습니다.

기본적인 java 문자열 분리 방법을 알아 봤습니다.

그럼 이만. ^^

댓글 없음: