본문 바로가기
IT 개발

[java] 문자열 다루기 함수 1(자주쓰는것 위주 equals, indexOf, replace, replaceAll, substring)

by 로보찌빠냥 2020. 5. 29.
1. equals

equals : 두 객체(Object)의 값을 비교해서 같으면 true, 다르면 false값을 반환

여기서 우개의 객체라고 집어 말한 것은 aObject.equals( bObject ) 인 경우 aObject가 null일 때 nullpoint exception이 발생하는것을 주의해야 하기 때문입니다.

보통 String객체 aObject 가 어떤 값인지 확인할 때 aObject.equals("어떤값")으로 많이쓰지만 "어떤값".equals.(aObject) 형태로 쓰는게 nullpoint exception 을 피할 수 있어 조금 더 안정적일 수 있습니다.(하지만 aObject 에 null이 안오게 하는게 더 중요하겠죠ㅠㅠ)

 

대상객체.equals( 비교할객체 )

String strA = "어떤값";
String strB = "이런값";

System.out.println("equals 1: " + strA.equals("어떤값")); // true 리턴
System.out.println("equals 2: " + strA.equals(strB)); // false 리턴

결과는 

equals 1:true

equals 2:false

입니다.

 

2. indexOf

indexOf는 문자열 안의 특정 문자가 몇번째 있는지를 반환합니다.

"문자열".indexOf("대상문자");

String str1 = "abcdef";
System.out.println("indexOf: " + str1.indexOf("c"));

 

결과는 'c'가 3번째 있기 때문에 str1안의 'c'의 인덱스는 2입니다.(인덱스는 0 부터 시작하기 때문)

 

3. replace 및 replaceAll

replace 는 특정 문자를 원하는 값으로 변환하는 함수입니다.

replace("대상문자열", "변경할 문자열");

System.out.println("리플레이스() 함수 사용법".replace("리플레이스", "replace");

결과는 

replace() 함수 사용법

이 됩니다.

 

replaceAll 는 특정 문자를 원하는 값으로 변환하는 함수입니다.

replaceAll("대상문자열", "변경할 문자열");

System.out.println("리플레이스() 함수 사용법, 리플레이스 사용법".replaceAll("리플레이스", "replace");

결과는

replace() 함수 사용법

이 됩니다.

 

두 함수의 차이는 replaceAll()은 정규표현식 사용이 가능하다는 점이 있습니다.

 

4. substring

substring(시작인덱스, 끝인덱스)은 문자열을 시작인덱스부터 끝인덱스까지 자르는 용도로 사용합니다.

substring 첫번째 인자가 start인덱스, 두번째 인자가 end 인덱스(생략 시 start부터 끝까지 입니다.) 입니다. 여기서 특징은 end인덱스의 값은 포함하지 않는것 입니다.

 

String str = "abcdefg";
System.out.println("substring: " + str.substring(0, 2));

결과는
substring: ab

입니다.

반응형

댓글