[자바 무료 강의] 문자열 다루기 - String 메서드 - 코드라떼
Lesson List button
코스자바로 배우는 프로그래밍
hamburger button
강의문자열 다루기 - String 메서드최종수정일 2022-01-05
아이콘약 10분

앞으로 코딩하면서 문자열을 다룰일이 많을겁니다. 외울 필요는 없지만 사용하다보면 자연스럽게 기억하게 됩니다.

노트 강의

목차</네무>


  1. public int length() - 문자열 길이 반환

  2. public boolean contains(CharSequence s) - 문자열 포함 여부 확인

  3. public boolean startsWith(String prefix) - 앞의 문자열 동일 여부 확인

  4. public String trim() - 앞뒤 공백 제거

  5. public String replace(CharSequence target, CharSequence replacement) - 문자열 변경

  6. public String substring(int beginIndex) - 문자열 자르기

  7. public String substring(int beginIndex, int endIndex) - 문자열 자르기

  8. public String toLowerCase() - 소문자로 변경

  9. public String toUpperCase() - 대문자로 변경

  10. public int indexOf(String str) - 특정 문자 찾기

  11. public char charAt(int index) - 특정 index의 문자 반환

  12. public int compareTo(String anotherString) - 문자열 비교

문자열 다루기


String 클래스에는 문자열을 가공하거나 판단할 수 있도록 도와주는 몇 가지 메서드들이 존재합니다. 모든 메서드들을 소개하지는 않고, 주로 사용되는 메서드들을 설명합니다. 외울 필요는 없습니다. 필요할 때 기억을 더듬어 찾아서 사용하면 됩니다.


1. public int length() - 문자열 길이 반환

문자열의 길이를 반환한다.

String text = "카페라떼";

int length = text.length();
// 4

String text = "라떼";

int length = text.length();
// 2

2. public boolean contains(CharSequence s) - 문자열 포함 여부 확인

해당 문자열이 매개변수에 전달되는 문자열을 포함하고 있는지 확인합니다. 포함하고 있다면 true, 포함하고 있지 않다면 false를 반환합니다.

String text = "안녕하세요. 오늘 좋은 날씨네요.";
boolean isContains = text.contains("오늘");
// true

// 반대는 다른 결과이다
boolean isContains = "오늘".contains(text);
// false

3. public boolean startsWith(String prefix) - 앞의 문자열 동일 여부 확인

해당 문자열이 매개변수에 전달되는 문자열과 앞의 부분이 동일한지 확인합니다

동일하다면 true, 동일하지 않다면 false를 반환합니다.

String text = "기도수첩으로 시작하는 하루";
boolean isCollect = text.startWith("기도");
// true

boolean isCollect = text.contains("노래");
// false

4. public String trim() - 앞뒤 공백 제거

문자열의 앞뒤에 공백문자가 존재한다면, 공백 문자열을 제거한 문자열을 반환합니다.

현업에서 사용자가 작성한 내용에서 공백문자를 제거하기 위해 자주 사용합니다.

*원본 훼손 X

String text = "  오늘은 눈이 오는 날이네요     ";
String trimedText = text.trim();
// "오늘은 눈이 오는 날이네요"

5. public String replace(CharSequence target, CharSequence replacement) - 문자열 변경

target 매개변수로 전달된 문자열을 모두 찾아 replacement 매개변수에 전달된 문자열로 모두 변경된 문자열을 반환합니다. 특정한 문자를 찾아 새로운 문자로 치환해야 할 때 사용됩니다.

*원본 훼손 X

String text = "카페라떼, 녹차라떼, 코드라떼";
String replacedText = text.replace("라떼", "AA");
// "카페AA, 녹차AA, 코드AA"

6. public String substring(int beginIndex) - 문자열 자르기

문자열의 첫 번째 문자를 0번 index라고 한다면, 두 번째 문자를 1번 index라고 한다. (공백도 문자다)

문자열을 beginIndex 부터 문자열의 마지막 index까지의 문자열을 반환한다.

*원본 훼손 X

String text = "123456789";

String subText = text.substring(2);
// "3456789"

String subText = text.substring(4);
// "56789"

String subText = text.substring(8);
// "9"

String subText = text.substring(9);
// ""

7. public String substring(int beginIndex, int endIndex) - 문자열 자르기

문자열의 첫 번째 문자를 0번 index라고 한다면, 두 번째 문자를 1번 index라고 한다. (공백도 문자다)

문자열을 beginIndex 부터 문자열의 endIndex 전 까지의 문자열을 반환한다.

*원본 훼손 X

String text = "123456789";

String subText = text.substring(2, 2);
// ""

String subText = text.substring(2, 3);
// "3"

String subText = text.substring(2, 4);
// "34"

String subText = text.substring(3, 6);
// "456"

8. public String toLowerCase() - 소문자로 변경

문자열을 소문자로 변경한 문자열을 반환한다.

*원본 훼손 X

String text = "aBcDe";

String lowerCaseText = text.toLowerCase();
// "abcde"

9. public String toUpperCase() - 대문자로 변경

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

*원본 훼손 X

String text = "aBcDe";

String lowerCaseText = text.toUpperCase();
// "ABCDE"

10. public int indexOf(String str) - 특정 문자 찾기

문자열의 첫 번째 문자를 0번 index라고 한다면, 두 번째 문자를 1번 index라고 한다. (공백도 문자다)

  1. 첫 번째 index 부터 특정 문자열을 찾아 가장 먼저 찾은 문자열이 시작하는 index를 반환한다.

  2. 찾지 못하면 -1을 반환한다.

찾기 위한 특정 문자열이 몇 번째 index 부터 시작하는지 찾을 때 사용한다. (가장 먼저 발견되는 문자를 기준으로 한다)

String text = "오늘도, 내일도, 모레도";

int index = text.indexOf("늘도");
// 1

int index = text.indexOf("도");
// 2

int index = text.indexOf("모레");
// 10

11. public char charAt(int index) - 특정 index의 문자 반환

문자열의 첫 번째 문자를 0번 index라고 한다면, 두 번째 문자를 1번 index라고 한다. (공백도 문자다)

문자열에서 index 번째 문자를 반환한다.(문자열이 아닙니다)

String text = "123456789";

char character = text.charAt(3);
// '4'

char character = text.charAt(1);
// '2'

char character = text.charAt(8);
// '9'

12. public int compareTo(String anotherString) - 문자열 비교

문자열을 비교할 때 사용하는 메서드입니다.

  1. 왼쪽의 문자열과 anotherString을 비교하여, 음수, 양수, 0중 하나를 반환한다.

  2. 왼쪽의 문자열이 anotherString 문자열보다 오름차순 기준으로 더 앞에 있으면 음수

  3. 왼쪽의 문자열이 anotherString 문자열보다 오름차순 기준으로 더 뒤에 있으면 양수

  4. 왼쪽의 문자열이 anotherString과 동일하면 0

오름차순 또는 내림차순으로 어떤 문자열이 더 앞이나 뒤에 있는지 확인할 때 사용하며 정렬을 위해 문자열을 비교할 때도 사용된다.

int value = "abc".compareTo("jzis");
// -9 (의미 abc가 더 앞이다)

int value = "jzis".compareTo("abc");
// 9 (의미 abc가 더 앞이다)

int value = "aa".compareTo("aaa");
// -1 (의미 aa가 더 앞이다)
도전자 질문
아이콘livewire0320(2022-01-05 04:55 작성됨)
7.문자열 자르기에 값이 이게 맞나요?
3번 인덱스에는 값이 4이고 6번 인덱스에는 값이 7인데
endIndex 값 전까지 출력되는 게 맞다면
"456" 아닌가요?
String subText = text.substring(3, 6);
// "4567
아이콘코드라떼(2022-01-05 15:45 작성됨)
안녕하세요. 코드라떼입니다 :)

해당 내용은 오타로 "456"이 맞으며 잘못된 내용을 수정했습니다

감사합니다.
아이콘자바배움이(2021-07-01 12:44 작성됨)
11번 charAt(int index) 는 index 위치에 있는 문자를 반환해준다고 적혀있는데, index 하고 주석하고 값이 바뀐거 같습니다.
아이콘코드라떼(2021-07-01 13:24 작성됨)
말도 안 되는 실수를 했네요. 수정했습니다. 

감사합니다^^
이용약관|개인정보취급방침
알유티씨클래스|대표, 개인정보보호책임자 : 이병록
이메일 : cs@codelatte.io
사업자등록번호 : 824-06-01921
통신판매업신고 : 2021-성남분당C-0740
주소 : 경기도 성남시 분당구 대왕판교로645번길 12, 9층 24호
파일
파일파일
Root
파일

Output
root$
Lesson List button
코스자바로 배우는 프로그래밍
hamburger button
강의문자열 다루기 - String 메서드최종수정일 2022-01-05
아이콘약 10분

앞으로 코딩하면서 문자열을 다룰일이 많을겁니다. 외울 필요는 없지만 사용하다보면 자연스럽게 기억하게 됩니다.

노트 강의

목차</네무>


  1. public int length() - 문자열 길이 반환

  2. public boolean contains(CharSequence s) - 문자열 포함 여부 확인

  3. public boolean startsWith(String prefix) - 앞의 문자열 동일 여부 확인

  4. public String trim() - 앞뒤 공백 제거

  5. public String replace(CharSequence target, CharSequence replacement) - 문자열 변경

  6. public String substring(int beginIndex) - 문자열 자르기

  7. public String substring(int beginIndex, int endIndex) - 문자열 자르기

  8. public String toLowerCase() - 소문자로 변경

  9. public String toUpperCase() - 대문자로 변경

  10. public int indexOf(String str) - 특정 문자 찾기

  11. public char charAt(int index) - 특정 index의 문자 반환

  12. public int compareTo(String anotherString) - 문자열 비교

문자열 다루기


String 클래스에는 문자열을 가공하거나 판단할 수 있도록 도와주는 몇 가지 메서드들이 존재합니다. 모든 메서드들을 소개하지는 않고, 주로 사용되는 메서드들을 설명합니다. 외울 필요는 없습니다. 필요할 때 기억을 더듬어 찾아서 사용하면 됩니다.


1. public int length() - 문자열 길이 반환

문자열의 길이를 반환한다.

String text = "카페라떼";

int length = text.length();
// 4

String text = "라떼";

int length = text.length();
// 2

2. public boolean contains(CharSequence s) - 문자열 포함 여부 확인

해당 문자열이 매개변수에 전달되는 문자열을 포함하고 있는지 확인합니다. 포함하고 있다면 true, 포함하고 있지 않다면 false를 반환합니다.

String text = "안녕하세요. 오늘 좋은 날씨네요.";
boolean isContains = text.contains("오늘");
// true

// 반대는 다른 결과이다
boolean isContains = "오늘".contains(text);
// false

3. public boolean startsWith(String prefix) - 앞의 문자열 동일 여부 확인

해당 문자열이 매개변수에 전달되는 문자열과 앞의 부분이 동일한지 확인합니다

동일하다면 true, 동일하지 않다면 false를 반환합니다.

String text = "기도수첩으로 시작하는 하루";
boolean isCollect = text.startWith("기도");
// true

boolean isCollect = text.contains("노래");
// false

4. public String trim() - 앞뒤 공백 제거

문자열의 앞뒤에 공백문자가 존재한다면, 공백 문자열을 제거한 문자열을 반환합니다.

현업에서 사용자가 작성한 내용에서 공백문자를 제거하기 위해 자주 사용합니다.

*원본 훼손 X

String text = "  오늘은 눈이 오는 날이네요     ";
String trimedText = text.trim();
// "오늘은 눈이 오는 날이네요"

5. public String replace(CharSequence target, CharSequence replacement) - 문자열 변경

target 매개변수로 전달된 문자열을 모두 찾아 replacement 매개변수에 전달된 문자열로 모두 변경된 문자열을 반환합니다. 특정한 문자를 찾아 새로운 문자로 치환해야 할 때 사용됩니다.

*원본 훼손 X

String text = "카페라떼, 녹차라떼, 코드라떼";
String replacedText = text.replace("라떼", "AA");
// "카페AA, 녹차AA, 코드AA"

6. public String substring(int beginIndex) - 문자열 자르기

문자열의 첫 번째 문자를 0번 index라고 한다면, 두 번째 문자를 1번 index라고 한다. (공백도 문자다)

문자열을 beginIndex 부터 문자열의 마지막 index까지의 문자열을 반환한다.

*원본 훼손 X

String text = "123456789";

String subText = text.substring(2);
// "3456789"

String subText = text.substring(4);
// "56789"

String subText = text.substring(8);
// "9"

String subText = text.substring(9);
// ""

7. public String substring(int beginIndex, int endIndex) - 문자열 자르기

문자열의 첫 번째 문자를 0번 index라고 한다면, 두 번째 문자를 1번 index라고 한다. (공백도 문자다)

문자열을 beginIndex 부터 문자열의 endIndex 전 까지의 문자열을 반환한다.

*원본 훼손 X

String text = "123456789";

String subText = text.substring(2, 2);
// ""

String subText = text.substring(2, 3);
// "3"

String subText = text.substring(2, 4);
// "34"

String subText = text.substring(3, 6);
// "456"

8. public String toLowerCase() - 소문자로 변경

문자열을 소문자로 변경한 문자열을 반환한다.

*원본 훼손 X

String text = "aBcDe";

String lowerCaseText = text.toLowerCase();
// "abcde"

9. public String toUpperCase() - 대문자로 변경

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

*원본 훼손 X

String text = "aBcDe";

String lowerCaseText = text.toUpperCase();
// "ABCDE"

10. public int indexOf(String str) - 특정 문자 찾기

문자열의 첫 번째 문자를 0번 index라고 한다면, 두 번째 문자를 1번 index라고 한다. (공백도 문자다)

  1. 첫 번째 index 부터 특정 문자열을 찾아 가장 먼저 찾은 문자열이 시작하는 index를 반환한다.

  2. 찾지 못하면 -1을 반환한다.

찾기 위한 특정 문자열이 몇 번째 index 부터 시작하는지 찾을 때 사용한다. (가장 먼저 발견되는 문자를 기준으로 한다)

String text = "오늘도, 내일도, 모레도";

int index = text.indexOf("늘도");
// 1

int index = text.indexOf("도");
// 2

int index = text.indexOf("모레");
// 10

11. public char charAt(int index) - 특정 index의 문자 반환

문자열의 첫 번째 문자를 0번 index라고 한다면, 두 번째 문자를 1번 index라고 한다. (공백도 문자다)

문자열에서 index 번째 문자를 반환한다.(문자열이 아닙니다)

String text = "123456789";

char character = text.charAt(3);
// '4'

char character = text.charAt(1);
// '2'

char character = text.charAt(8);
// '9'

12. public int compareTo(String anotherString) - 문자열 비교

문자열을 비교할 때 사용하는 메서드입니다.

  1. 왼쪽의 문자열과 anotherString을 비교하여, 음수, 양수, 0중 하나를 반환한다.

  2. 왼쪽의 문자열이 anotherString 문자열보다 오름차순 기준으로 더 앞에 있으면 음수

  3. 왼쪽의 문자열이 anotherString 문자열보다 오름차순 기준으로 더 뒤에 있으면 양수

  4. 왼쪽의 문자열이 anotherString과 동일하면 0

오름차순 또는 내림차순으로 어떤 문자열이 더 앞이나 뒤에 있는지 확인할 때 사용하며 정렬을 위해 문자열을 비교할 때도 사용된다.

int value = "abc".compareTo("jzis");
// -9 (의미 abc가 더 앞이다)

int value = "jzis".compareTo("abc");
// 9 (의미 abc가 더 앞이다)

int value = "aa".compareTo("aaa");
// -1 (의미 aa가 더 앞이다)
도전자 질문
아이콘livewire0320(2022-01-05 04:55 작성됨)
7.문자열 자르기에 값이 이게 맞나요?
3번 인덱스에는 값이 4이고 6번 인덱스에는 값이 7인데
endIndex 값 전까지 출력되는 게 맞다면
"456" 아닌가요?
String subText = text.substring(3, 6);
// "4567
아이콘코드라떼(2022-01-05 15:45 작성됨)
안녕하세요. 코드라떼입니다 :)

해당 내용은 오타로 "456"이 맞으며 잘못된 내용을 수정했습니다

감사합니다.
아이콘자바배움이(2021-07-01 12:44 작성됨)
11번 charAt(int index) 는 index 위치에 있는 문자를 반환해준다고 적혀있는데, index 하고 주석하고 값이 바뀐거 같습니다.
아이콘코드라떼(2021-07-01 13:24 작성됨)
말도 안 되는 실수를 했네요. 수정했습니다. 

감사합니다^^
이용약관|개인정보취급방침
알유티씨클래스|대표, 개인정보보호책임자 : 이병록
이메일 : cs@codelatte.io|운영시간 09:00 - 18:00(평일)
사업자등록번호 : 824-06-01921|통신판매업신고 : 2021-성남분당C-0740
주소 : 경기도 성남시 분당구 대왕판교로645번길 12, 9층 24호(경기창조혁신센터)
파일
파일파일
Root
파일

Output
root$