String 문법 기초

이윤설·2023년 1월 4일
0

문자열 변환(replace, substring, indexOf)

System.out.println(s.replace(" and", ",")); 
// " and"를 ","로 변환

System.out.println(s.substring(7)); 
// index 기준 7부터 시작 (이전 내용은 삭제)
// 주의: s 변수에 변환 결과가 반영되는 것은 아니다.
// s = s.substring(7); 이렇게 해야 변환 결과가 s 변수에 반영된다.

System.out.println(s.substring(s.indexOf("Java"))); 
// "Java"가 시작하는 위치부터, "."이 시작하는 위치 바로 앞까지

System.out.println(s.substring(s.indexOf("Java"), s.indexOf("."))); 
// 시작 위치부터 끝 위치 "직전"

문자열 결합(concat)

System.out.println(s1.concat(", ".concat(s2))); 
// Java, Python

이스케이프 문자

\" : 큰 따음표
내가 "안녕"이라고 했어요
System.out.println("단비가 \"냐옹\" 이라고 했어요");
System.out.println("단비가 \"냐옹\" 이라고 했어요");

\' : 작은 따옴표
단비가 '뭘 봐?'라는 표정을 지었어요
작은따옴표는 "" 내에서 단독으로 사용해도 별 문제 없다.
System.out.println("단비가 \'뭘 봐?\' 라는 표정을 지었어요");
System.out.println("단비가 '뭘 봐?' 라는 표정을 지었어요");

다만 char을 사용하면서 작은 따옴표를 넣고 싶을 때 이렇게 하면 된다.

char c = 'A';
c = '\'';
System.out.println(c);

퀴즈.

public class _Quiz_03 {
//     주민등록번호에서 생년월일 및 성별까지만 출력하는 프로그램을 작성하시오.
//     참고
//     1. 주민등록번호는 13자리로 구성
//     2. 앞 6자리는 생년월일 정보, 뒷 7자리 중 첫번째 숫자는 성별 정보
//     3. 입력 데이터 -을 포함한 14자리의 문자열 형태
//     예시
//     1. "901231-1234567"인 경우 901231-1까지 출력
//     2. "030708-4567890"인 경우 030708-4까지 출력
public static void main(String[] args) {
    String id = "901231-1234567";
    System.out.println(id.substring(0, 8)); // 0 위치부터 8 위치 직전까지

주민번호에서 하이픈의 위치는 모두 같기 때문에, 하이픈에서 두칸을 이동한 뒤 그 위치 직전까지만 출력하는 것도 하나의 방법이 될 수 있다.
System.out.println(id.substring(0, id.indexOf("-") + 2));

profile
화려한 외면이 아닌 단단한 내면

0개의 댓글