출처: https://fruitdev.tistory.com/72  좋은 자료 많다 참고하자

 

[Java] 문자열 포함여부 확인(검색)방법 - contains, indexOf, matches

특정 문자열에서 원하는 문자가 포함되어 있는지 확인해야 될 때가 있다. 주로 문자열 포함 여부에 따라서 if문과 같은 분기문을 작성하거나 할때가 그러한데, Java에서는 여러가지 방법으로 문

fruitdev.tistory.com

 

 

특정 문자열에서 원하는 문자가 포함되어 있는지 확인해야 될 때가 있다.
주로 문자열 포함 여부에 따라서 if문과 같은 분기문을 작성하거나 할때가 그러한데, Java에서는 여러가지 방법으로 문자열 검색이 가능하다.

그중에서도 오늘은 contains, indexOf, matches를 이용하여 문자열을 검색하는 방법을 포스팅 하겠다.

[예제]

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class StringFinder {


    public static void main(String[] args) {
        // TODO Auto-generated method stub
         
         
         
        String txt1 = "가나다라" ;
        String txt2 = "해당 내용은 테스트 입니다" ;
        String txt3 = "가격은 29,000원 입니다" ;
         
         
         
        // contains를 이용한 방법(true, false 반환)
        if(txt1.contains("나다"))
            System.out.println("문자열 있음!");
        else
            System.out.println("문자열 없음!");
         
         
        // indexOf를 이용한 방법
        if(txt2.indexOf("테스트") > -1)
            System.out.println("문자열 있음!");
        else
            System.out.println("문자열 없음!");
         
         
        // matches를 이용한 방법
        if(txt2.matches(".*테스트.*"))
            System.out.println("문자열 있음!");
        else
            System.out.println("문자열 없음!");
         
         
        // matches를 이용하여 정규 표현식으로 문자열에 숫자가 있는지 확인
        if(txt3.matches(".*[0-9].*"))
            System.out.println("숫자 있음!");
        else
            System.out.println("숫자 없음!");


    }


}

 

 

구분  설명
포함
미포함
 contains  문자열에 검색하고자 하는 문자가 있는지 확인  true false
 indexOf  문자열에서 검색하는 문자의 위치를 반환  문자 위치
-1
 matches  정규식을 이용하여 문자열을 검색한다.

 특정 문자열을 검색할때 사용하기 보다는 한글, 숫자 등과 같이 해당 형태의 텍스트가 존재하는지 확인할때 사용하면 좋다
 true false

 




Posted by useways
,