찾고자 하는 내용을 'ctrl + f' 를 눌러 찾으시길 바랍니다.
ex) ctrl + f -> "문자열을 정수로" 입력 후 엔터
● String 클래스
▶ .equals : 문자열 같은지 확인
String str = "동일 문자열 확인";
boolean res = str.equals("동일 문자열 확인");
System.out.println(res);
결과:
▶ .charAt : 문자열에서 일부 문자 추출
str = "문자열에서 일부 문자문 추출";
char resChar = str.charAt(2);
System.out.println(resChar
결과:
▶ .length : 문자열 길이 구하기
str = "문자열의 길이를 구함";
int resInt = str.length();
System.out.println(resInt);
결과:
▶ .concat : 문자열 붙이기
str = "문자열과 문자열 붙이기";
String resStr= str.concat("이 문자열이 붙었습니다.");
System.out.println(resStr);
결과:
▶ .compareTo : 문자열 사전 순 비교
str = "문자열 사전순 비교";
resInt = str.compareTo("가나다");
System.out.println(resInt);
resInt = str.compareTo("아자차");
System.out.println(resInt);
결과:
▶ .replace : 문자열에서 특정 문자열을 변경
str = "문자열에서 특정 문자열을 변경";
resStr= str.replace("특정", "일부");
System.out.println(resStr);
결과:
▶ .split : 문자열 분리
str = "문자열에서 특정 구분자를 기준으로 문자열 분리";
String[] resStrArr= str.split(" ");
System.out.println(Arrays.toString(resStrArr));
str = "010-1234-5678";
resStrArr = str.split("-");
System.out.println(Arrays.toString(resStrArr));
str = "username@sample.com";
resStrArr = str.split("@");
System.out.println(Arrays.toString(resStrArr));
결과:
▶ .join : 분리된 문자열을 다시 결합
str = "분리된 문자열을 특정 구분자를 기준으로 다시 결합";
resStrArr = str.split(" ");
resStr = str.join("\t", resStrArr);
System.out.println(resStr);
str = "010-1234-5678";
resStrArr = str.split("-");
resStr = str.join("-", resStrArr);
System.out.println(resStr);
결과:
▶ .trim : 문자열 공백 제거
str = " 불필요한 앞/뒤 공백을 제거 ";
resStr = str.trim();
System.out.println(resStr);
str = "\t\t불필요한 앞/뒤 공백을 제거\t\t";
resStr = str.trim();
System.out.println(resStr);
결과:
▶ .substring : 문자열에서 일부 문자열만 분리
str = "문자열에서 일부 문자열만 분리";
resStr = str.substring(2);
System.out.println(resStr);
resStr = str.substring(0, 5);
System.out.println(resStr);
결과:
▶ .indexOf : 문자열에서 지정한 문자열의 위치 찾기
str = "문자열에서 지정한 문자열의 위치 찾기";
resInt = str.indexOf("위치");
System.out.println(resInt + "에 " + str.substring(resInt, resInt+2) +
"가 있습니다.");
resInt = str.indexOf("문자열");
System.out.println(resInt);
// 이전에 찾은 위치 다음 인덱스 부터 다시 찾기
resInt = str.indexOf("문자열", resInt + 1);
System.out.println(resInt);
str = "이 문자열에는 다양한 문자들이 포함되어 있는 문자열 입니다.";
resInt = str.indexOf("문자");
System.out.println(resInt);
resInt = str.indexOf("문자", resInt + 1);
System.out.println(resInt);
resInt = str.indexOf("문자", resInt + 1);
System.out.println(resInt);
resInt = str.indexOf("문자", resInt + 1);
System.out.println(resInt);
결과:
▶ .toUpperCase / .toLowerCase : 문자열을 대문자/소문자로 변경
str = "영문자를 대문자/소문자로 변경한다. abCdEF";
resStr = str.toUpperCase();
System.out.println(resStr);
resStr = str.toLowerCase();
System.out.println(resStr);
결과:
▶ .format : 문자열 포맷
str = "영문자를 대문자/소문자로 변경한다. abCdEF";
resStr = str.toUpperCase();
System.out.println(resStr);
resStr = str.toLowerCase();
System.out.println(resStr);
str = "정수 포맷 : %d";
resStr = String.format(str, 10);
System.out.println(resStr);
str = "실수 포맷 : %.2f";
resStr = String.format(str, 10.123);
System.out.println(resStr);
str = "천단위구분 포맷 : %,d";
resStr = String.format(str, 123456789);
System.out.println(resStr);
str = "천단위구분 포맷 : %,.2f";
resStr = String.format(str, 10123412.123);
System.out.println(resStr);
str = "문자열 포맷 : %s";
resStr = String.format(str, "문자열");
System.out.println(resStr);
str = "일정한 영역에서 오른쪽 정렬 포맷 : %5d";
resStr = String.format(str, 123);
System.out.println(resStr);
str = "일정한 영역에서 왼쪽 정렬 포맷 : %-5d";
resStr = String.format(str, 123);
System.out.println(resStr);
str = "일정한 영역에서 오른쪽 정렬 포맷 : %5s";
resStr = String.format(str, "abc");
System.out.println(resStr);
str = "일정한 영역에서 왼쪽 정렬 포맷 : %-5s";
resStr = String.format(str, "abc");
System.out.println(resStr);
str = "빈 공간을 0으로 채우기 포맷 : %05d";
resStr = String.format(str, 123);
System.out.println(resStr);
str = "%s의 나이는 %d 세 입니다.";
resStr = String.format(str, "홍길동", 23);
System.out.println(resStr);
str = "%2$s의 나이는 %1$d 세 입니다.";
resStr = String.format(str, 23, "홍길동");
System.out.println(resStr);
str = "아스키 코드 %1$d 는 아스키 문자 %1$c 입니다.";
resStr = String.format(str, 65);
System.out.println(resStr);
결과:
▶Integer.parseInt : 문자열을 정수로 변환
int resInt = Integer.parseInt("12345");
System.out.println(resInt + 10);
결과:
▶ Double.parseDouble : 문자열을 실수로 변환
double resDouble = Double.parseDouble("123.456");
System.out.println(resDouble + 10);
결과:
▶+ : 정수를 문자열로/ 실수를 문자열로 변환
String resStr = "" + resInt;
System.out.println(resStr + ".");
resStr = "" + resDouble;
System.out.println(resStr + ".");
결과:
▶.toString() : 정수를 문자열로/ 실수를 문자열로 변환(Wrapper 이용하는 방법)
resStr = Integer.valueOf(resInt).toString();
System.out.println(resStr + ".");
resStr = Double.valueOf(resDouble).toString();
System.out.println(resStr + ".");
결과:
● StringBuilder 클래스
▶.append : 기존 문자열 뒤에 데이터 삽입
StringBuilder sb = new StringBuilder();
// 기존 문자열 뒤에 데이터 삽입
sb.append("StringBuilder의 메서드");
sb.append(" append() 는 기존 문자열 뒤에 추가 합니다.\n");
System.out.println(sb);
결과:
▶.insert : 지정한 위치에 데이터 삽입
StringBuilder sb = new StringBuilder();
// 기존 문자열 뒤에 데이터 삽입
sb.append("StringBuilder의 메서드");
sb.append(" append() 는 기존 문자열 뒤에 추가 합니다.\n");
System.out.println(sb);
결과:
▶.replace : 수정할 문자열의 위치를 작성하여 수정
// 수정 처리를 할 때 동일한 문자열에 대해 전부 수정될 수 있도록 반복문을 활용해 본다.
int idx = -1;
String find = "메서드";
while(true) {
idx = sb.indexOf(find, idx + 1);
if(idx != -1) {
sb.replace(idx, idx + find.length(), "method");
} else {
break;
}
}
System.out.println(sb);
결과:
▶.delete : 삭제할 문자열의 위치를 작성하여 삭제
// 삭제 처리를 할 때 동일한 문자열에 대해 전부 삭제될 수 있도록 반복문을 활용해 본다.
idx = -1;
find = " method";
while(true) {
idx = sb.indexOf(find, idx + 1);
if(idx != -1) {
sb.delete(idx, idx + find.length());
} else {
break;
}
}
System.out.println(sb);
결과:
● StringTokenizer 클래스
▶.append : 기존 문자열 뒤에 데이터 삽입
public static void main(String[] args) {
String str = "StringTokenizer로 문자열을 분리하는 예제";
StringTokenizer st = new StringTokenizer(str, " ");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
결과: