티스토리 뷰

JAVA(프로그래밍)

java substring 문자열 자르기

알 수 없는 사용자 2018. 7. 26. 14:00

java substring 문자열 자르기

 

java에서는 문자열을 자르기 위해서 필요한 메소드를 제공하고 있습니다.

사용방법은 소스를 통해서 알아보도록 하겠습니다.

 

아래는 실제 돌아가는 완전한 소스입니다.

본인 컴퓨터에서 실행해보시면 결과값을 확인해보실수 있습니다.

----------------------------------------------------------------------------------------------

package test;

public class Test {

 public static void main(String[] args) {

  String strTestValue= "ABCDEFGHIZKLMNOPQRSTUVWXYZ";


  //ABC를 추출해보겠습니다.
  System.out.println("substring->" + strTestValue.substring(0, 3));

  // CDE를 추출해보겠습니다.
  System.out.println("substring->" + strTestValue.substring(2, 4));

  //전체 문자열을 출력해보겠습니다.
  System.out.println("substring->" + strTestValue.substring(0));


  //        01234567
  strTestValue= "ABCDEFGHIZKLMNOPQRSTUVWXYZ";

  //substring(int arg0); 
  //substring(int arg0, int arg1);


  //좀더 응용해보겠습니다.
  //substring 에 인자값을 줘서 문자열을 추출하는걸 알수가 있습니다.
  //마지막 2글자만 추출하고 싶다면 ???
  //str 에 들어오는 문자열은 알수가 없다면 어떻게 해야 할까요? 이럴때는 다음과 같이 하시면 됩니다.

  System.out.println("마지막 2글자만 추출->" + strTestValue.substring(strTestValue.length() - 2, strTestValue.length()));

  //원하는 결과값을 얻을수 있습니다.

  //자 이제 좀더 용응해보겠습니다.
  //문자열에 어떤 값이 들어올지 모른다는 가정하에..
  strTestValue= "lseradfsdfefwegfwegLESSEJINAAEE";

  //해당 문자열중 a로 시작되는 되는 글자부터 2가지 글자를 추출해보도록 하겠습니다.
  //우선적으로 a문자열을 찾아보도록 하겠습니다. indexOf() 를 이용하면 쉽게 a로 시작되는 문자열의 위치를 알수가 있습니다.

  System.out.println("a로 시작되는 문자열 시작위치 ->" + strTestValue.indexOf("a"));

  //결과값을 보시면 a로 시작되는 시작위치는 4입니다.

  System.out.println("a로 시작되는 되는 글자부터 2자리 글자를 추출->" + strTestValue.substring(strTestValue.indexOf("a"), strTestValue.indexOf("a") + 2));


  System.out.println("L로 시작되는 되는 글자부터 5자리 글자를 추출->" + strTestValue.substring(strTestValue.indexOf("L"), strTestValue.indexOf("L") + 5));

  //원하는 결과값을 추출했습니다.참고로 indexOf() 메소드는 특정문자열을 처음 발견한 위치값을 돌려줍니다. 발견하지 못하면 -1 을 반환합니다.

  System.out.println("indexOf 찾고자하는 문자열이 없을경우 ->" + strTestValue.indexOf("K"));

  //예상했던 대로 찾고자 하는 문자열을 찾지 못해서 -1 을 반환하였습니다.
  //indexOf를 사용해서 원하는 문자열이 없는지 확인 가능합니다.

  if (strTestValue.indexOf("XE") < 0) {

   System.out.println("원하는 문자열을 발견하지 못했습니다.");
  } else {
   System.out.println("원하는 문자열을 발견하였습니다.");
  }

 }
}

----------------------------------------------------------------------------------------------------------------------
  
 

substring 인자값이 1개인 메소드와 2개인 메소드를 제공합니다.

substring(시작 인덱스 값, 끝 인덱스 값);

substring(시작인덱스값);

 

시작인덱스는

왼쪽부터 1이 아닌 0부터 시작합니다.

만약 "ABCD"라는 문자열이 있다면

A의 시작인덱스는 0

B는 1

C는 2

D는 3

여기서 중요한 한가지는 마지막 인덱스는 그전 인덱스까지입니다.

substring(시작인덱스값, 마지막인덱스값 -1);

 


  자바에서 문자열을 자를때는 substring메소드를 사용하면 편리합니다. 이상 포스팅을 마칩니다.
  
  
  

댓글