개발이야기/Java

[Java] 특정 문자열 찾기, 포함여부 (contains 메서드 사용방법, 예제)

후린개발자 2024. 2. 20.
반응형

contains 메서드를 사용하여 문자열에 특정 부분 문자열이 포함되어 있는지를 확인하고 다양한 조건에 따라 활용을 하는 예제 코드입니다.

 

 

1. 사용법

//사용법
boolean result = str.contains(substring);

//예제
String str = "Hello, world!";
String substring = "world";

boolean result = str.contains(substring);

if (result) {
    System.out.println("문자열에 'world'가 포함되어 있습니다.");
} else {
    System.out.println("문자열에 'world'가 포함되어 있지 않습니다.");
}

 

1) 사용방법

 

-str: 문자열이 포함되어 있는 대상 문자열입니다.

-substring: 확인하려는 부분 문자열입니다.

-result: 부분 문자열이 대상 문자열에 포함되어 있는지 여부를 나타내는 논리값(true 또는 false)을 반환합니다.

 

2) 예제


-contains 메서드는 대소문자를 구분합니다. "world"와 "WORLD"는 다른 문자열로 처리됩니다.

-contains 메서드는 문자열이 연속된 지를 확인하는 것이 아니라, 주어진 문자열에 부분 문자열이 존재하는지를 확인합니다.

-contains 메서드는 인덱스를 반환하지 않으며, 부분 문자열이 발견되면 즉시 true를 반환합니다.

-null 문자열에 대해서는 NullPointerException이 발생합니다. 따라서 null 여부를 확인한 후에 contains 메서드를 호출해야 합니다.

 

 

2. 전체코드

public class TEST {
    public static void main(String[] args) throws Exception {
        // 1)기본 사용법
        String str = "Hello, world!";
        if (str.contains("world")) {
            System.out.println("문자열에 'world'가 포함되어 있습니다.");
        } else {
            System.out.println("문자열에 'world'가 포함되어 있지 않습니다.");
        }
        
        // 2)대소문자 구분하지 않고 확인하는 예제
        if (str.toLowerCase().contains("WORLD".toLowerCase())) {
            System.out.println("문자열에 'WORLD'가 포함되어 있습니다.");
        } else {
            System.out.println("문자열에 'WORLD'가 포함되어 있지 않습니다.");
        }
        
        // 3)여러 문자열 중 하나라도 포함되는지 확인하는 예제
        String[] keywords = {"Java", "Love", "programming"};
        boolean containsAny = false;
        for (String keyword : keywords) {
            if (str.contains(keyword)) {
                containsAny = true;
                break;
            }
        }
        if (containsAny) {
            System.out.println("문자열에 키워드가 포함되어 있습니다.");
        } else {
            System.out.println("문자열에 키워드가 포함되어 있지 않습니다.");
        }
        
        // 4)문자열에 숫자가 포함되어 있는지 확인하는 예제
        String str1 = "Hello123World";
        if (str1.contains("0") || str1.contains("1") || str1.contains("2") || str1.contains("3") ||
            str1.contains("4") || str1.contains("5") || str1.contains("6") || str1.contains("7") ||
            str1.contains("8") || str1.contains("9")) {
            System.out.println("문자열에 숫자가 포함되어 있습니다.");
        } else {
            System.out.println("문자열에 숫자가 포함되어 있지 않습니다.");
        }
        
        // 5)특정 문자열이 특정 위치에 있는지 확인하는 예제
        String str2 = "Hello, world!";
        if (str2.contains("world") && str2.indexOf("world") == 7) {
            System.out.println("문자열의 인덱스 7부터 'world'가 포함되어 있습니다.");
        } else {
            System.out.println("문자열의 인덱스 7부터 'world'가 포함되어 있지 않습니다.");
        }
        
        // 6)특정 문자열이 포함된 경우 해당 문자열을 대체하는 예제
        String str3 = "Hello, world!";
        if (str3.contains("world")) {
            str3 = str3.replace("world", "Hi");
        }
        System.out.println("결과 문자열: " + str3);
    } 
}

 

1) 기본 사용법

-주어진 문자열에 "world"가 포함되어 있는지 확인합니다.

2) 대소문자 구분하지 않고 확인

-toLowerCase() 메서드를 사용하여 대소문자를 구분하지 않고 문자열에 "WORLD"가 포함되어 있는지 확인합니다.

3) 여러 문자열 중 하나라도 포함되는지 확인

-keywords 배열에 있는 여러 키워드 중 하나라도 주어진 문자열에 포함되어 있는지 확인합니다.

4) 문자열에 숫자가 포함되어 있는지 확인

-주어진 문자열에 숫자(0부터 9까지)가 포함되어 있는지 확인합니다.

5) 특정 문자열이 특정 위치에 있는지 확인

-문자열 "Hello, world!"에서 "world"가 문자열의 인덱스 7부터 시작하는지 확인합니다.

6) 특정 문자열이 포함된 경우 해당 문자열을 대체

-주어진 문자열에 "world"가 포함되어 있다면 해당 문자열을 "Hi"로 대체합니다.

 

 


반응형

댓글

💲 추천 글