[JAVA] 11. 자바 Utils & Lib Ⅰ. JRE 라이브러리 import (1) String

최재원's avatar
Feb 14, 2025
[JAVA] 11. 자바 Utils & Lib Ⅰ. JRE 라이브러리 import (1) String

문자열 관련 메서드들

1. 문자열의 길이

String s1 = "abcd"; System.out.println("s1의 length: " + s1.length());
notion image

2. 특정 index의 문자 확인하기

String s2 = "abcd"; System.out.println("s2의 charAt(2): " + s2.charAt(2));
notion image

3. 문자열 비교

System.out.println("abcd".equals("abcd"));
notion image

4. 문자열 추출

String s3 = "abcd"; // substring 함수가 문자열의 0번지 부터 시작하는지 확인. 문자열의 마지막으로 끝나는지 마지막의 -1로 끝나는지 확인. System.out.println(s3.substring(0, 1));
notion image

5. 문자열 검색(인덱스)

String s4 = "abcd"; System.out.println(s4.indexOf("b"));
notion image

6. 문자열 포함 여부

String s5 = "abcd"; System.out.println(s5.contains("k"));
notion image

7. 문자열 대소문자 변경

String s6 = "Abcd"; System.out.println(s6.toUpperCase()); System.out.println(s6.toLowerCase());
notion image

8. 문자열 치환

int age = 10; String s7 = "내 나이는 $age고 난 내나이 $age가 좋아".replace("$age", age + ""); System.out.println(s7);
notion image

9. 앞뒤 공백 제거

String s8 = " abcd "; System.out.println(s8.trim());
notion image

10. 문자열 스플릿(split)

String s9 = "ab:cd"; String[] r9 = s9.split(":"); System.out.println(r9[0]); System.out.println(r9[1]);
notion image
package ex08; // String 관련 함수 다 사용해보기 public class Str01 { public static void main(String[] args) { // 1. 문자열의 길이 (할아버지 12자만 보내세요) String s1 = "abcd"; System.out.println("s1의 length: " + s1.length()); // 2. 특정 index의 문자 확인하기 String s2 = "abcd"; System.out.println("s2의 charAt(2): " + s2.charAt(2)); // 3. 문자열 비교 System.out.println("abcd".equals("abcd")); // 4. 문자열 추출 String s3 = "abcd"; // substring 함수가 문자열의 0번지 부터 시작하는지 확인. 문자열의 마지막으로 끝나는지 마지막의 -1로 끝나는지 확인. System.out.println(s3.substring(0, 1)); // 5. 문자열 검색 String s4 = "abcd"; System.out.println(s4.indexOf("b")); // 6. 문자열 포함 여부 String s5 = "abcd"; System.out.println(s5.contains("k")); // 7. 문자열 대소문자 변경 String s6 = "Abcd"; System.out.println(s6.toUpperCase()); System.out.println(s6.toLowerCase()); // 8. 문자열 치환 (replace(), replaceAll()) int age = 10; String s7 = "내 나이는 $age고 난 내나이 $age가 좋아".replace("$age", age + ""); System.out.println(s7); // 9. 앞뒤 공백 제거 String s8 = " abcd "; System.out.println(s8.trim()); // 10. 문자열 스플릿(split) String s9 = "ab:cd"; String[] r9 = s9.split(":"); System.out.println(r9[0]); System.out.println(r9[1]); } }

연습

해당 문자열을 보고 부산에 사는 고객은 몇 명인지 출력하라.

String nums = """ 031)533-2112, 02)223-2234, 02)293-4444, 051)398-3434, 02)498-3434, 051)398-3434, 043)3222-3434 """;

1. 문자열을 (”,\n”)으로 나누어라

String[] splitNums = nums.split(",\n"); System.out.println(splitNums[0]); System.out.println(splitNums[1]); System.out.println(splitNums[2]);
notion image

2. 각각의 번호에서 앞에서 “)”까지 만 잘라라

String[] splitNums = nums.split(",\n"); System.out.println(splitNums[0].substring(0, 4)); System.out.println(splitNums[1].substring(0, 3)); System.out.println(splitNums[2].substring(0, 3));
notion image

3. 잘라낸 부분의 문자열이 “051”과 같다면 count를 올려라

int count = 0; String[] splitNums = nums.split(",\n"); System.out.println(splitNums[0].substring(0, 3)); if (splitNums[0].substring(0, 3).equals("051")) count++; System.out.println(splitNums[1].substring(0, 2)); if (splitNums[1].substring(0, 2).equals("051")) count++; System.out.println(splitNums[2].substring(0, 2)); if (splitNums[2].substring(0, 2).equals("051")) count++; System.out.println(count);
notion image

4. 변수와 상수를 표시하자

int count = 0; int a = -1; String[] splitNums = nums.split(",\n"); a++; System.out.println(splitNums[a].substring(0, 3)); if (splitNums[a].substring(0, 3).equals("051")) count++; a++; System.out.println(splitNums[a].substring(0, 2)); if (splitNums[a].substring(0, 2).equals("051")) count++; a++; System.out.println(splitNums[a].substring(0, 2)); if (splitNums[a].substring(0, 2).equals("051")) count++; System.out.println(count);
notion image

5. 반복문을 사용해보자

int count = 0; int a = -1; String[] splitNums = nums.split(",\n"); for (int i = 0; i < splitNums.length; i++) { a++; System.out.println(splitNums[a].substring(0, 3)); if (splitNums[a].substring(0, 3).equals("051")) count++; } System.out.println(count);
notion image

6. “)”의 위치 값을 찾아 넣어보자

int count = 0; int a = -1; String[] splitNums = nums.split(",\n"); for (int i = 0; i < splitNums.length; i++) { a++; System.out.println(splitNums[a].substring(0, splitNums[a].indexOf(")"))); if (splitNums[a].substring(0, splitNums[a].indexOf(")")).equals("051")) count++; } System.out.println(count);
notion image
 

7. 잘 나눠진 번호를 배열에 넣어보자.

int count = 0; int a = -1; String[] splitNums = nums.split(",\n"); String[] newNums = new String[splitNums.length]; for (int i = 0; i < splitNums.length; i++) { a++; int index = splitNums[a].indexOf(")"); newNums[i] = splitNums[a].substring(0, index); }

8. 배열을 반복하면서 051번호를 찾아보자

for (int i = 0; i < newNums.length; i++) { if (newNums[i].equals("051")) { count++; } }

9. count를 출력하자

System.out.println(count);
notion image

10. 전체코드

package ex08; // String 관련 함수 다 사용해보기 public class Str03 { public static void main(String[] args) { String nums = """ 031)533-2112, 02)223-2234, 02)293-4444, 051)398-3434, 02)498-3434, 051)398-3434, 043)3222-3434 """; // 부산에 사는 고객은 몇명인가요? int count = 0; int a = -1; String[] splitNums = nums.split(",\n"); String[] newNums = new String[splitNums.length]; for (int i = 0; i < splitNums.length; i++) { a++; int index = splitNums[a].indexOf(")"); newNums[i] = splitNums[a].substring(0, index); } for (int i = 0; i < newNums.length; i++) { if (newNums[i].equals("051")) { count++; } } // 4. count 변수 출력 System.out.println(count); System.out.println("부산에 사는 고객은 2명입니다"); } }
Share article

jjack1