메모장

[JAVA] 특정 문자열 포함 확인 및 찾기 본문

JAVA/개념정리

[JAVA] 특정 문자열 포함 확인 및 찾기

Itchild 2024. 4. 7. 20:48
728x90
반응형

 

 

1. contains()

 

문자열에 특정문자를 포함하고 있는지 확인하는 함수이다.

특징으로는 대소문자를 구분한다.

 

public class codeTest {

    public static void main(String[] args) throws Exception{

        String str = "바나나(banana) 가격은 개당 500원 입니다." ;

        // contains 사용
        if(str.contains("바나나")) {
            System.out.println("contain - 포함");
        }else {
            System.out.println("contain - 미포함");
        }
        
        System.out.println(str.contains("BANANA") );  false
        System.out.println( str.contains("banana") );   true

    }
}
 

 

2. indexOf()

 

문자열에 특정문자의 위치를 반환한다.

특정 문자나 문자열을 앞에서 부터 찾기 시작한다.

찾는도중 특정문자를 포함하고 있으면 그 위치의 인덱스를 반환한다.

특정문자를 찾지 못하면 -1를 반환한다.

public class codeTest {

    public static void main(String[] args) throws Exception{

        String str = "바나나(banana) 가격은 개당 500원 입니다." ;

        // indexOf 사용
        if(str.indexOf("가격") > -1) {
            System.out.println("indexOf 포함");
        }else {
            System.out.println("indexOf 미포함");
        }

    }
}
 

 

3. mathces()

 

정규식을 이용하여 특정문자를 검색한다.

public class codeTest {

    public static void main(String[] args) throws Exception{

        String str = "바나나(banana) 가격은 개당 500원 입니다." ;
        
        // matches 문자열 정규식 찾기
        if(str.matches(".*바나나.*")) {
            System.out.println("matches 포함");
        }else {
            System.out.println("matches 미포함");
        }

        // matches 문자열 정규식 숫자 찾기
        if(str.matches(".*[0-9].*")) {
            System.out.println("matches 숫자 포함");
        }else {
            System.out.println("matches 숫자 미포함");
        }

    }
}
 

자주쓰는 정규식 패턴

  • 숫자만 : ^[0-9]*$
  • 영문만 : ^[a-zA-Z]*$
  • 영문만, 띄어쓰기가능 : /^[a-zA-Z\s]+$/
  • 한글만 : ^[가-힣]*$
  • 한글만,띄어쓰기가능 : /^[가-힣\s]+$/
  • 한글 & 영문만 : /^[가-힣a-zA-Z]+$/;
  • 영문 & 숫자만 : ^[a-zA-Z0-9]*$
  • E-Mail : ^[a-zA-Z0-9]+@[a-zA-Z0-9]+$
  • 휴대폰 : ^01(?:0|1|[6-9]) - (?:\d{3}|\d{4}) - \d{4}$
  • 일반전화 : ^\d{2,3} - \d{3,4} - \d{4}$
  • URL : /^(file|gopher|news|nntp|telnet|https?|ftps?|sftp):\/\/([a-z0-9-]+\.)+[a-z0-9]{2,4}.*$/
  • 주민등록번호 : \d{6} \- [1-4]\d{6}
  • IP 주소 : ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3})

 

 


단순 문자열이 같은지 확인 할 때 equals () 도 있다 ...!

 

728x90
반응형

'JAVA > 개념정리' 카테고리의 다른 글

데이터 , 스택 , 힙 영역 정리  (0) 2024.04.07
래퍼 클래스 (wrapper class)  (0) 2024.04.07
인터페이스  (0) 2024.04.07
클래스 , 객체 , 인스턴스의 차이  (0) 2024.04.07
MVC 패턴 중 Ctrl 공부  (1) 2024.04.07