티스토리 뷰

Coding/JAVA

String method

h7ung 2022. 11. 7. 09:38
728x90
Java 에서 문자열을 자주 사용하게 된다.
String 를 다루는 여러가지 method 들이 있는데 그중 자주 쓰는 method 만 정리 했다.

 

문자열이란?

"Hello World" 처럼 문자들로 이루어진 집합이다.

 

 

1. equlas

문자가 같은지 비교를 해준다.

'equlas' 와 '=' 연산은 비슷 하면서도 다르다는 것을 주의 해야한다!!

 

String s3 = "Hi";
String s4 = "Hi";
System.out.println(s3.equals(s4));
System.out.println(s3==s4); // 동일한 객체 -> true

String s5 = new String ("Hi");
System.out.println(s3.equals(s5)); //true 값을 비교
System.out.println(s3==s5); //false 객체를 비교

 

String s5 = new String ("Hi") 는 new String 으로 인해서 새로운 String 객체가 생성된다.

새로운 객체를 만들었기 때문에 == 연산자로 비교 했을 때 false 가 되며, 값을 비교하는 equals를 이용하여 비교해야 true 가 반환 된다.

 

2. indexOf

문자열에 있는 특정 문자의 index를 return 한다.

 

String s6 = "Hello! World!";
System.out.println(s6.indexOf("!")); // 5
System.out.println(s6.indexOf("!",s6.indexOf("!")+1)); //두번째 !를 찾음 결과 값:12

 

indexOf("찾고 싶은 문자")

indexOf 괄호 안에 찾고 싶은 문자를 넣으면 해당 문자열에서 찾으려는 문자의 위치를 반환한다.

이때 배열의 index 는 0부터 시작하는 것과 같이 문자열의 위치 찾을 때도 0부터 시작된다는 것을 주의 해야한다.

위에 코드에서도 s6.indexOf("!") 를 실행 시키면 문자열 s6에서 !의 위치는 6인데  5라고 return 되는 이유는 index의 시작은 항상 0부터 시작되기 때문이다.

 

문자열에서 같은 문자가 여러개 있을때 해당 문자를 찾고 싶을 때는 indexOf("!")+1 를 하면 문자열에서 두번째의 ! 의 위치를 반환한다.

 

3. replace

특정 문자를 다른 문자로 바꾼다.

 

String s6 = "Hello Wolrd";
String s7 = s6.replace("Hello", "Bye");
System.out.println("s7 = " + s7); //s7 = Bye! World!

replace(바꾸고싶은 문자열, 바꾸는 문자열)

s6. replace("Hello", "Bye") 를 하면 Hello 가 Bye 로 바뀐다. 

 

4. substring

기존 문자열에서 특정 범위 만큼 문자열을 뽑아 낸다

 

String s7 = "Bye! World!";
System.out.println(s7.substring(0,3)); //0부터 시작해서 3전까지 출력 (Bye)
System.out.println(s7.substring(0,s7.indexOf("!")+1)); //출력:Bye!

substring(start index, end index)

substring 을 사용할 때 주의 할 점은 끝 위치에 써둔 index의 -1 한 만큼 return 된다.

위의 코드에서 보듯이 s7.substring(0, 3) 을 하면 0부터 시작해서 3-1 한 위치만큼 출력이 되어 Bye 가 출력된다.

indexOf 를 이용하여 ! 까지 있는 문자열을 출력하려면 end index 위치에 s7.indexOf("!")+1 로 작성하면 Bye! 가 출력 된다. 

 

 

5. toUpperCase

문자열을 대문자로 변환한다.

 

String s7 = "Bye! World!";
System.out.println(s7.toUpperCase()); //BYE! WORLD!

 

6. toCharArray()

string 문자열을 문자 배열로 변환하는 메소드이다.

배열의 크기는 문자열의 길이가 된다.

 

String s = "Hello";
char[] c = s.toCharArray();

 

c 배열에 H, e, l, l, o 가 각각 들어가 있는 것을 볼 수 있다.

 

 

 

728x90