inblog logo
|
jjack1
    Java

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

    최재원's avatar
    최재원
    Feb 14, 2025
    [JAVA] 11. 자바 Utils & Lib Ⅰ. JRE 라이브러리 import (1) String
    Contents
    문자열 관련 메서드들1. 문자열의 길이2. 특정 index의 문자 확인하기3. 문자열 비교4. 문자열 추출5. 문자열 검색(인덱스)6. 문자열 포함 여부7. 문자열 대소문자 변경8. 문자열 치환9. 앞뒤 공백 제거10. 문자열 스플릿(split)연습

    문자열 관련 메서드들

    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

    RSS·Powered by Inblog