package k20231207;

import java.util.Arrays;
import java.util.Scanner;
public class StringMethodTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = " tjoeunit ";
// length() : 문자열을 구성하는 문자의 개수를 얻어온다
System.out.println("문자열을 구성하는 문자의 개수: " + str.length());
System.out.println(str);
// trim() : 문자열 앞, 뒤의 불필요한 빈 칸(공백)을 제거한다.
System.out.println(str.trim());
System.out.println("불필요한 빈 칸을 제거한 문자의 개수: " + str.trim().length());
// System.out.print("문자열 입력: ");
// 데이터 입력 단계에서 불필요한 공백을 제거하고 입력받으려면 아래와 같이 trim() 메소드를 사용한다.
// String name = scanner.nextLine().trim();
// System.out.println(name.length());
str = "0304223185600";
// charAt() : 문자열에서 지정된 index(0부터 시작) 위치의 문자를 얻어온다
System.out.println("성별: " + str.charAt(6));
// 키보드로 1문자만 입력 받기
// char ch = scanner.nextLine().charAt(0);
// System.out.println(ch);
str = "TjoeunIT";
// toUpprtCase(): 영문자를 무조건 대문자로 변환
// toLowerCase(): 영문자를 무조건 소문자로 변환
System.out.println("무조건 대문자로: " + str.toUpperCase());
System.out.println("무조건 소문자로: " + str.toLowerCase());
str = "8304221185600";
// substring(a): 문자열의 a번째 index의 문자부터 문자열의 끝까지 얻어온다.
// substring(a, b): 문자열의 a번째 index의 문자부터 b-1 문자열까지 얻어온다.
System.out.println("주민등록번호 뒷자리: " + str.substring(6));
System.out.println("생년: " + str.substring(0,2));
System.out.println("월: " + str.substring(2,4));
System.out.println("일: " + str.substring(4,6));
// repeat(): 문자열을 인수로 지정한 개수만큼 반복한다.
System.out.println(str.substring(0,7) + "******");
System.out.println(str.substring(0,7) + "*".repeat(6));
str = "ittjoeunit";
// indexOf(): 문자열 왼쪽부터 검색해서 인수로 지정한 문자열이 최초로 나타나는 index를 얻어온다.
// lastIndexOf(): 문자열 오른쪽부터 검색해서 인수로 지정한 문자열이 최초로 나타나는 index를 얻어온다.
System.out.println(str.indexOf("it"));
System.out.println(str.lastIndexOf("it"));
// indexOf(), lastIndexOf() 메소드로 인수로 지정한 문자열이 없으면 -1을 리턴한다.
System.out.println(str.indexOf("It"));
System.out.println(str.lastIndexOf("IT"));
// indexOf(), lastIndexOf() 메소드로 실행 결과가 0이상이면 지정된 문자열이 포함되어 있다는 의미이다.
// contains(): 문자열에 인수로 지정한 문자열이 포함되어 있으면 true, 없으면 false를 리턴한다.
System.out.println(str.contains("it"));
System.out.println(str.contains("IT"));
str = "abc 123 가나다";
// split(): 문자열을 인수로 지정한 구분자를 경계로 나눠서 배열로 리턴한다.
System.out.println(str.split(" "));
System.out.println(str.split(" ").length);
System.out.println(Arrays.toString(str.split(" ")));
System.out.println(str.split(" ")[0]);
str = "ittjoeunit";
// replace(a, b) : 문자 열의 모든 a를 b로 치환한다.
System.out.println(str.replace("i","아이"));
System.out.println("==============================================");
// "-"과 "-"사이의 모든 문자열을 "*"로 변경해서 출력한다.
// 하이픈 사이를 배열로 나누면 0인덱스 123 / 1인덱스 45678 / 2인덱스 12345
// 0인덱스의 문자열 수를 구하고 3 5 5
// 이때, "-"과 "-"사이의 모든 문자열의 개수는 가변적이다.
str = "123-45678-12345";
System.out.println("왼쪽 '-'의 index: " + str.indexOf("-"));
System.out.println("오른쪽 '-'의 index: " + str.lastIndexOf("-"));
String code = str.substring(str.indexOf("-") + 1,str.lastIndexOf("-"));
System.out.println(code);
System.out.println(code.length());
String newCode = str.substring(0 ,str.indexOf("-") + 1);
System.out.println(newCode);
// for (int i = 0; i<code.length(); i++) {
// newCode += "*";
// }
newCode += "*".repeat(code.length());
newCode += str.substring(str.lastIndexOf("-"));
System.out.println(newCode);
String[] newCode2 = str.split("-");
System.out.println(Arrays.toString(newCode2));
System.out.printf("%s-%s-%s\n", newCode2[0],"*".repeat(newCode2[1].length()),newCode2[2]);
newCode = newCode2[0] + "-" + "*".repeat(newCode2[1].length()) + "-" + newCode2[2];
System.out.println(newCode);
// format() 메소드는 printf() 메소드와 사용법이 같으며 문자열의 출력 서식을 지정해서 문자열을 만든다.
newCode = String.format("%s-%s-%s\n", newCode2[0],"*".repeat(newCode2[1].length()),newCode2[2]);
System.out.println(newCode);
}
}
'java&eclipse 코딩 알고리즘 > 20231207' 카테고리의 다른 글
| StringBuliderTest (0) | 2023.12.15 |
|---|---|
| SaUpNoCheckTest (0) | 2023.12.15 |
| JuminNoCheckTest5 (0) | 2023.12.15 |
| JuminNoCheckTest3 (0) | 2023.12.15 |
| JuminNoCheckTest2 (0) | 2023.12.15 |