앞으로 코딩하면서 문자열을 다룰일이 많을겁니다. 외울 필요는 없지만 사용하다보면 자연스럽게 기억하게 됩니다.
public String replace(CharSequence target, CharSequence replacement) - 문자열 변경
public String substring(int beginIndex, int endIndex) - 문자열 자르기
ㅤ
String 클래스에는 문자열을 가공하거나 판단할 수 있도록 도와주는 몇 가지 메서드들이 존재합니다. 모든 메서드들을 소개하지는 않고, 주로 사용되는 메서드들을 설명합니다. 외울 필요는 없습니다. 필요할 때 기억을 더듬어 찾아서 사용하면 됩니다.
ㅤ
문자열의 길이를 반환한다.
String text = "카페라떼";
int length = text.length();
// 4
String text = "라떼";
int length = text.length();
// 2
ㅤ
해당 문자열이 매개변수에 전달되는 문자열을 포함하고 있는지 확인합니다. 포함하고 있다면 true, 포함하고 있지 않다면 false를 반환합니다.
String text = "안녕하세요. 오늘 좋은 날씨네요.";
boolean isContains = text.contains("오늘");
// true
// 반대는 다른 결과이다
boolean isContains = "오늘".contains(text);
// false
ㅤ
해당 문자열이 매개변수에 전달되는 문자열과 앞의 부분이 동일한지 확인합니다
동일하다면 true, 동일하지 않다면 false를 반환합니다.
String text = "기도수첩으로 시작하는 하루";
boolean isCollect = text.startWith("기도");
// true
boolean isCollect = text.contains("노래");
// false
ㅤ
문자열의 앞뒤에 공백문자가 존재한다면, 공백 문자열을 제거한 문자열을 반환합니다.
현업에서 사용자가 작성한 내용에서 공백문자를 제거하기 위해 자주 사용합니다.
*원본 훼손 X
String text = " 오늘은 눈이 오는 날이네요 ";
String trimedText = text.trim();
// "오늘은 눈이 오는 날이네요"
ㅤ
target 매개변수로 전달된 문자열을 모두 찾아 replacement 매개변수에 전달된 문자열로 모두 변경된 문자열을 반환합니다. 특정한 문자를 찾아 새로운 문자로 치환해야 할 때 사용됩니다.
*원본 훼손 X
String text = "카페라떼, 녹차라떼, 코드라떼";
String replacedText = text.replace("라떼", "AA");
// "카페AA, 녹차AA, 코드AA"
ㅤ
문자열의 첫 번째 문자를 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);
// ""
ㅤ
문자열의 첫 번째 문자를 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"
ㅤ
문자열을 소문자로 변경한 문자열을 반환한다.
*원본 훼손 X
String text = "aBcDe";
String lowerCaseText = text.toLowerCase();
// "abcde"
ㅤ
문자열을 대문자로 변경한 문자열을 반환한다.
*원본 훼손 X
String text = "aBcDe";
String lowerCaseText = text.toUpperCase();
// "ABCDE"
ㅤ
문자열의 첫 번째 문자를 0번 index라고 한다면, 두 번째 문자를 1번 index라고 한다. (공백도 문자다)
첫 번째 index 부터 특정 문자열을 찾아 가장 먼저 찾은 문자열이 시작하는 index를 반환한다.
찾지 못하면 -1을 반환한다.
찾기 위한 특정 문자열이 몇 번째 index 부터 시작하는지 찾을 때 사용한다. (가장 먼저 발견되는 문자를 기준으로 한다)
String text = "오늘도, 내일도, 모레도";
int index = text.indexOf("늘도");
// 1
int index = text.indexOf("도");
// 2
int index = text.indexOf("모레");
// 10
ㅤ
문자열의 첫 번째 문자를 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'
ㅤ
문자열을 비교할 때 사용하는 메서드입니다.
왼쪽의 문자열과 anotherString을 비교하여, 음수, 양수, 0중 하나를 반환한다.
왼쪽의 문자열이 anotherString 문자열보다 오름차순 기준으로 더 앞에 있으면 음수
왼쪽의 문자열이 anotherString 문자열보다 오름차순 기준으로 더 뒤에 있으면 양수
왼쪽의 문자열이 anotherString과 동일하면 0
오름차순 또는 내림차순으로 어떤 문자열이 더 앞이나 뒤에 있는지 확인할 때 사용하며 정렬을 위해 문자열을 비교할 때도 사용된다.
int value = "abc".compareTo("jzis");
// -9 (의미 abc가 더 앞이다)
int value = "jzis".compareTo("abc");
// 9 (의미 abc가 더 앞이다)
int value = "aa".compareTo("aaa");
// -1 (의미 aa가 더 앞이다)
7.문자열 자르기에 값이 이게 맞나요? 3번 인덱스에는 값이 4이고 6번 인덱스에는 값이 7인데 endIndex 값 전까지 출력되는 게 맞다면 "456" 아닌가요? String subText = text.substring(3, 6); // "4567
안녕하세요. 코드라떼입니다 :) 해당 내용은 오타로 "456"이 맞으며 잘못된 내용을 수정했습니다 감사합니다.
11번 charAt(int index) 는 index 위치에 있는 문자를 반환해준다고 적혀있는데, index 하고 주석하고 값이 바뀐거 같습니다.
말도 안 되는 실수를 했네요. 수정했습니다. 감사합니다^^
앞으로 코딩하면서 문자열을 다룰일이 많을겁니다. 외울 필요는 없지만 사용하다보면 자연스럽게 기억하게 됩니다.
public String replace(CharSequence target, CharSequence replacement) - 문자열 변경
public String substring(int beginIndex, int endIndex) - 문자열 자르기
ㅤ
String 클래스에는 문자열을 가공하거나 판단할 수 있도록 도와주는 몇 가지 메서드들이 존재합니다. 모든 메서드들을 소개하지는 않고, 주로 사용되는 메서드들을 설명합니다. 외울 필요는 없습니다. 필요할 때 기억을 더듬어 찾아서 사용하면 됩니다.
ㅤ
문자열의 길이를 반환한다.
String text = "카페라떼";
int length = text.length();
// 4
String text = "라떼";
int length = text.length();
// 2
ㅤ
해당 문자열이 매개변수에 전달되는 문자열을 포함하고 있는지 확인합니다. 포함하고 있다면 true, 포함하고 있지 않다면 false를 반환합니다.
String text = "안녕하세요. 오늘 좋은 날씨네요.";
boolean isContains = text.contains("오늘");
// true
// 반대는 다른 결과이다
boolean isContains = "오늘".contains(text);
// false
ㅤ
해당 문자열이 매개변수에 전달되는 문자열과 앞의 부분이 동일한지 확인합니다
동일하다면 true, 동일하지 않다면 false를 반환합니다.
String text = "기도수첩으로 시작하는 하루";
boolean isCollect = text.startWith("기도");
// true
boolean isCollect = text.contains("노래");
// false
ㅤ
문자열의 앞뒤에 공백문자가 존재한다면, 공백 문자열을 제거한 문자열을 반환합니다.
현업에서 사용자가 작성한 내용에서 공백문자를 제거하기 위해 자주 사용합니다.
*원본 훼손 X
String text = " 오늘은 눈이 오는 날이네요 ";
String trimedText = text.trim();
// "오늘은 눈이 오는 날이네요"
ㅤ
target 매개변수로 전달된 문자열을 모두 찾아 replacement 매개변수에 전달된 문자열로 모두 변경된 문자열을 반환합니다. 특정한 문자를 찾아 새로운 문자로 치환해야 할 때 사용됩니다.
*원본 훼손 X
String text = "카페라떼, 녹차라떼, 코드라떼";
String replacedText = text.replace("라떼", "AA");
// "카페AA, 녹차AA, 코드AA"
ㅤ
문자열의 첫 번째 문자를 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);
// ""
ㅤ
문자열의 첫 번째 문자를 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"
ㅤ
문자열을 소문자로 변경한 문자열을 반환한다.
*원본 훼손 X
String text = "aBcDe";
String lowerCaseText = text.toLowerCase();
// "abcde"
ㅤ
문자열을 대문자로 변경한 문자열을 반환한다.
*원본 훼손 X
String text = "aBcDe";
String lowerCaseText = text.toUpperCase();
// "ABCDE"
ㅤ
문자열의 첫 번째 문자를 0번 index라고 한다면, 두 번째 문자를 1번 index라고 한다. (공백도 문자다)
첫 번째 index 부터 특정 문자열을 찾아 가장 먼저 찾은 문자열이 시작하는 index를 반환한다.
찾지 못하면 -1을 반환한다.
찾기 위한 특정 문자열이 몇 번째 index 부터 시작하는지 찾을 때 사용한다. (가장 먼저 발견되는 문자를 기준으로 한다)
String text = "오늘도, 내일도, 모레도";
int index = text.indexOf("늘도");
// 1
int index = text.indexOf("도");
// 2
int index = text.indexOf("모레");
// 10
ㅤ
문자열의 첫 번째 문자를 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'
ㅤ
문자열을 비교할 때 사용하는 메서드입니다.
왼쪽의 문자열과 anotherString을 비교하여, 음수, 양수, 0중 하나를 반환한다.
왼쪽의 문자열이 anotherString 문자열보다 오름차순 기준으로 더 앞에 있으면 음수
왼쪽의 문자열이 anotherString 문자열보다 오름차순 기준으로 더 뒤에 있으면 양수
왼쪽의 문자열이 anotherString과 동일하면 0
오름차순 또는 내림차순으로 어떤 문자열이 더 앞이나 뒤에 있는지 확인할 때 사용하며 정렬을 위해 문자열을 비교할 때도 사용된다.
int value = "abc".compareTo("jzis");
// -9 (의미 abc가 더 앞이다)
int value = "jzis".compareTo("abc");
// 9 (의미 abc가 더 앞이다)
int value = "aa".compareTo("aaa");
// -1 (의미 aa가 더 앞이다)
7.문자열 자르기에 값이 이게 맞나요? 3번 인덱스에는 값이 4이고 6번 인덱스에는 값이 7인데 endIndex 값 전까지 출력되는 게 맞다면 "456" 아닌가요? String subText = text.substring(3, 6); // "4567
안녕하세요. 코드라떼입니다 :) 해당 내용은 오타로 "456"이 맞으며 잘못된 내용을 수정했습니다 감사합니다.
11번 charAt(int index) 는 index 위치에 있는 문자를 반환해준다고 적혀있는데, index 하고 주석하고 값이 바뀐거 같습니다.
말도 안 되는 실수를 했네요. 수정했습니다. 감사합니다^^