Languages/Java

[Java]문자열 내 특정 문자 포함 여부 확인 및 위치 찾기(contains, indexOf)

MoonSta 2023. 5. 7. 00:40

이번 포스팅은 Java에서 문자열 내의 특정 문자의 포함 여부 및 위치를 찾을 수 있는 방법에 대해 알아보도록 하겠습니다.


 

문자열 내 특정 문자 포함 여부 확인

contains() : 문자열 내에 임의의 문자열을 포함하고 있는지 확인할 수 있는 메서드 
boolean(true, false)로 반환되며, 대소문자까지 일치해야 true를 반환한다.
String str = "Mooonstar blog is good";

System.out.println(str.contains("mooonstar");
System.out.println(str.contains("Mooonstar");
System.out.println(str.contains("blog");


//false(대소문자가 일치하지 않음)
//true
//true

 

문자열 내 특정 문자의 위치 찾기

indexOf() : 문자열 내에 지정한 임의의 문자열의 최초 인덱스부터 몇번째에 존재하는지 알려준다. 발견되는 문자열이 없다면 -1을 반환한다.

- 기본 구조
indexOf(String str)
index(int i)
indexOf(String str, int startIndex)
indexOf(int i, int startIndex)
String str = "Mooonstar blog is good";

System.out.println(str.indexOf("Mooonstar");
System.out.println(str.indexOf("blog", 4); //4번째 인덱스 이후


//0
//9

 


 

문자열 내 특정 문자의 위치 찾기

public static void main(String[] args) {
	String str = "문스타는 IT 블로그입니다. 문스타에 많이 놀러와주세요.";
	String findStr = "문스타";
	
	System.out.println(findAllStr(findStr, str));
}
	
//전체 문자열 중 특정 모든 단어 찾는 메서드
public static List<Integer> findAllStr(String str, String findStr) {
	List<Integer> List = new ArrayList<Integer>();
	int index = str.indexOf(findStr);
	
	while(index != -1) {
		List.add(index);
		index = str.indexOf(findStr, index+findStr.length());
	}
	return List;
}

//[0, 16]

 

 

이 포스팅은 쿠팡파트너스 활동의 일환으로 일정액의 수수료를 제공받습니다.