본문 바로가기
Java/TIL (Today I Learned)

[JAVA] contains() / replace()

by 정재인 2023. 2. 7.
contains()


 정의

- 문자열이 특정 문자열을 포함하고 있는지 확인한다.
- boolean형이므로 포함하고 있으면 true를, 아니면 false를 반환한다.
- 대·소문자, 공백을 구분한다.

 

 사용 예

public class contains {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str = "my name is jaein";
		
		System.out.println(str.contains(" my"));		//false
		System.out.println(str.contains("name")); 		//true
		System.out.println(str.contains("is")); 		//true
		System.out.println(str.contains("Jaein"));		//false
		
	}

}

 

 - my의 경우, 공백을 포함하므로 false 출력

 - Jaein의 경우, J가 대문자이므로 false 출력


 

replace()

 

 정의

- 문자열내의 특정 문자를 다른 문자로 바꾸는 방법
첫번째 매개변수는 변환하고자 하는 대상이 될 문자열
두번째 매개변수는 변환할 문자 값

 

 메소드

- String replace(char oldChar, char newChar
   문자열내에 있는 모든 oldCharnewChar로 바꾼 문자열을 반환합니다.

- String replace(CharSequence target, CharSequence replacement
   문자열내에 있는 모든 target 문자열을 replacement문자열로 바꾼 문자열을 반환합니다.

- String replaceAll(String regex, String replacement)  문자열내에 있는 정규식
   regex와 매치되는 모든 문자열을 replacement문자열로 바꾼 문자열을 반환합니다.

- String replaceFirst(String regex, String replacement
   문자열내에 있는 정규식 regex와 매치되는 첫번째 문자열을 replacement 문자열로 바꾼 문자열을 반환합니다.

 

 사용 예

public class replace {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str = "안녕하세요. 제 이름은 정재인입니다.";
		System.out.println(str);			// 안녕하세요. 제 이름은 정재인입니다.
		
		str = str.replace("정재인", "김재인");
		System.out.println(str);			// 안녕하세요. 제 이름은 김재인입니다.

	}

}

 


contains()와 replace()를 동시에 사용한 예 (백준 No.2941)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class No2941 {

	public static void main(String[] args) throws IOException{
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		String[] arr = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
		
		for(int i = 0; i < arr.length; i++) {
			if(str.contains(arr[i])) {
				str = str.replace(arr[i], "*");
			}		
		}

			System.out.println(str.length());
	}

}

 


 백준 No.2941

 

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net

 

'Java > TIL (Today I Learned)' 카테고리의 다른 글

[JAVA] 에라토스테네스의 체  (0) 2023.03.20
[JAVA] 유클리드 호제법(GCD / LCD)  (0) 2023.03.15
[JAVA] StringBuilder  (0) 2023.02.06
[JAVA] Overloading / Overriding  (0) 2023.01.30
[JAVA] EOF (End Of File)  (0) 2023.01.28

댓글