✍🏻 문자열 다루기
1. 문자열
String s = "I like Java and Python and C.";
System.out.println(s.length()); //29
- 대소문자 변환
-모두 대문자 .toUpperCase()
-모두 소문자 .toLowerCase()
System.out.println(s.toUpperCase()); //문자열을 모두 대문자로
System.out.println(s.toLowerCase()); //문자열을 모두 소문자로
System.out.println(s.contains("Java")); //포함된다면 true
- 해당 문자의 (처음) 위치 정보 .indexOf(" ")
- 해당 문자의 (마지막) 위치 정보 .lastIndexOf(" ")
-문자열의 첫 번째 위치는 0부터 시작!!!
-문자열에 없는 단어면 -1
System.out.println(s.indexOf("Java"));
//문자열에 포함된 문자면 처음 일치하는 정보의 위치
- 시작 문자열 확인 .startsWith(" ")
System.out.println(s.startsWith("I like")); //이 문자열로 시작하면 true
- 마지막 문자열의 확인 .endWith(" ")
System.out.println(s.endWith(".")); //이 문자열로 끝나면 true
- 문자열 변환
-단어 교체 .replace("교체전문자" , "교체후문자")
-시작 위치 새롭게 지정 .substring(인덱스 값)
-시작과 끝 위치 새롭게 지정 .substring(여기부터 , 여기 바로 앞 까지 )
-앞 뒤 공백 제거 .trim()
-문자열 결합 .concat(" ")
-문자열 자르기 .split(" ") 지정한 문자를 기준으로 문자열을 잘라 배열로 반환 (참고)
-list를 문자열로 합치기
System.out.println(s.replace(" and", ",")); // " and"를 ","로 교체
System.out.println(s.substring(7));
//System.out.println(s.substring(s.indexOf("Java")));
//인덱스 기준 7부터 시작 (이전 내용은 삭제)
System.out.println(s.substring(s.indexOf("Java"), s.indexOf(".")));
//"Java"가 시작하는 위치부터 "."이 시작하는 위치 바로 앞까지
s = " I love Java. ";
System.out.println(s.trim()); //앞뒤 공백 제거
//문자열 결합
String s1 = "Java";
String s2 = "Python";
System.out.println(s1 + s2); //JavaPython
System.out.println(s1 + "," + s2); //Java,Python
System.out.println(s1.concat(",").concat(s2)); //Java,Python
//문자열 자르기
String str = "ABC,EE,QQ1,5112";
String[] arr = str.split(",");
for(String cut : arr) {
System.out.println(cut);
}
}
//list를 문자열로 합치기
String s = String.join("", list);
2. 문자열 형 변환
- String ==> int Integer.parseInt()
String strNumber = "1000";
int number = Integer.parseInt(strNumber);
- int ==> String String. valueOf()
int i = 77;
String str = String.valueOf(i);
- 문자열에서 정수로 바꾸는 과정에서 에러가 많이 발생
-Integer.parseInt 전에 공백 제거
int val = Integer.parseInt(" 비밀번호 : 486 " . trim());
- cf. 정수타입 => byte, short, char, int, long
3. 문자열 비교
- 문자열 내용이 같으면 true, 다르면 flase
-문자열 비교 .equals( )
-(대소문자 구분 없이) 문자열 비교 .equalsIgnoreCase( )
- JAVA에서 문자열의 내용을 비교할 땐 equals 사용!!!!
//문자열 비교 심화
s1 = "1234"; //벽에 붙은 메모지(참조)의 비밀번호 정보 (내용)
s2 = "1234";
System.out.println(s1.equals(s2)); //true (내용)
System.out.println(s1 == s2); //true (참조)
s1 = new String("1234"); //각각의 메모지(참조)의 비밀번호 정보 (내용)
s2 = new String("1234");
System.out.println(s1.equals(s2)); //true (내용)
System.out.println(s1 == s2); //false (참조)
4. 특수 문자
- Escape Sequence, Escape character, Special character
-줄바꿈 \n
-탭 \t
-역슬래시 \
-큰 따옴표 \"
-작은 따옴표 \'
char c = 'A';
c = '\'';
System.out.println(c); //'