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 문자열 분리 방법을 알아 봤습니다.

그럼 이만. ^^

댓글 없음: