웹사이트 검색

Java String substring() 메서드 예


Java String substring() 메서드는 이 문자열의 하위 문자열을 반환합니다. 이 메서드는 항상 새 문자열을 반환하며 String은 Java에서 변경할 수 없기 때문에 원래 문자열은 변경되지 않은 상태로 유지됩니다.

Java String substring() 메서드

  1. substring(int beginIndex): 이 메서드는 이 문자열의 하위 문자열인 새 문자열을 반환합니다. 하위 문자열은 지정된 인덱스에 있는 문자로 시작하여 이 문자열의 끝까지 확장됩니다.
  2. substring(int beginIndex, int endIndex): 하위 문자열은 지정된 beginIndex에서 시작하여 endIndex - 1 인덱스에 있는 문자까지 확장됩니다. 따라서 하위 문자열의 길이는 (endIndex - beginIndex)입니다.

String substring() 메서드 중요 사항

  1. 두 문자열 하위 문자열 메서드는 아래 조건 중 하나라도 충족되면 IndexOutOfBoundsException을 발생시킬 수 있습니다.\n
    • beginIndex가 음수인 경우
    • endIndex가 이 String 개체의 길이보다 큽니다.
    • beginIndex가 endIndex보다 큼
  2. beginIndex는 포괄적이고 endIndex는 두 하위 문자열 메서드에서 배타적입니다.

Java String substring() 예제

다음은 자바의 하위 문자열에 대한 간단한 프로그램입니다.

package com.journaldev.util;

public class StringSubstringExample {

	public static void main(String[] args) {
		String str = "www.journaldev.com";
		System.out.println("Last 4 char String: " + str.substring(str.length() - 4));
		System.out.println("First 4 char String: " + str.substring(0, 4));
		System.out.println("website name: " + str.substring(4, 14));
	}
}

위의 하위 문자열 예제 프로그램의 출력은 다음과 같습니다.

Last 4 char String: .com
First 4 char String: www.
website name: journaldev

substring() 메서드를 사용하여 Palindrome 확인

substring() 메서드를 사용하여 문자열이 회문인지 여부를 확인할 수 있습니다.

package com.journaldev.util;

public class StringPalindromeTest {
	public static void main(String[] args) {
		System.out.println(checkPalindrome("abcba"));
		System.out.println(checkPalindrome("XYyx"));
		System.out.println(checkPalindrome("871232178"));
		System.out.println(checkPalindrome("CCCCC"));
	}

	private static boolean checkPalindrome(String str) {
		if (str == null)
			return false;
		if (str.length() <= 1) {
			return true;
		}
		String first = str.substring(0, 1);
		String last = str.substring(str.length() - 1);
		if (!first.equals(last))
			return false;
		else
			return checkPalindrome(str.substring(1, str.length() - 1));
	}
}

여기에서 첫 글자와 마지막 글자가 같은지 확인합니다. 동일하지 않으면 false를 반환합니다. 그렇지 않으면 첫 번째 문자와 마지막 문자가 제거된 하위 문자열을 재귀적으로 전달하는 메서드를 다시 호출합니다.

GitHub 리포지토리에서 더 많은 문자열 예제를 확인할 수 있습니다.

참조: Oracle API 문서