사용방식 : "문자열".charAt(int 인덱스)
char ch = "안녕하세요".charAt(2);
System.out.println("ch => " + ch); // ch => 하
String str = "안녕하세요";
// index => 01234
//-------------------------------
String result = "";
for(int i = str.length()-1; i>=0; i--) {
char ch = str.charAt(i);
result += ch;
}
System.out.println(result);
사용방식 : "문자열".toCharArray()
//=== 2. "문자열".toCharArray() ===
// "안녕하세요".toCharArray() ==> char 타입의 배열로 만들어준다.(return타입 배열)
// ------------------------
// |'안'|'녕'|'하'|'세'|'요'| //배열길이 5
// ------------------------
// 0 1 2 3 4 <== index
String str = "안녕하세요";
char[] ch_arr = str.toCharArray();
// '안'|'녕'|'하'|'세'|'요' 배열 생성
String str = "안녕하세요";
// index => 01234
//-------------------------------
//안녕하세요가 꺼꾸로 나오게 하기!!
char[] ch_arr = str.toCharArray();
String result = "";
for(int i = ch_arr.length-1; i>=0; i--) {
result += ch_arr[i];
}
System.out.println(result);
사용방식 : "문자열".substring(int 시작인덱스, int 끝 인덱스) / "문자열".substring(int 시작인덱스)
"안녕하세요".substring(1, 4);
0 1 2 3 4 : 1부터 출발-> 녕, 4는 4앞까지(4는 포함하지 않는다.)
// => 녕하세
"안녕하세요".substring(2);
"안녕하세요" 에서 시작인덱스가 2인 글자("하") 부터 끝까지 뽑아온다.
// => 하세요
String str = "";
str = "안녕하세요".substring(1,4);
System.out.println(str); // 녕하세 출력
str = "안녕하세요".substring(2);
System.out.println(str); //하세요 출력
사용방식 : "문자열".indexOf("찾을문자열")
int index = "시작하라 안녕하세요 건강하세요".indexOf("하");
System.out.println(index); // 2출력 => 가장 먼저 만난 2 출력
index = "시작하라 안녕하세요 건강하세요".indexOf("하세요");
System.out.println(index); // 7출력-> 가장 먼저 만난 하의 위치 출력
index = "시작하라 안녕하세요 건강하세요".indexOf("A");
System.out.println(index);
//If no such value of k exists, then -1 is returned.
//존재하지 않는 인덱스 이므로 -1 출력
사용방식 : "문자열".lastIndexOf("찾을문자열")
int index = "시작하라 안녕하세요 건강하세요".lastIndexOf("하");
System.out.println(index); // 마지막 하의 인덱스인 13 출력
index = "시작하라 안녕하세요 건강하세요".lastIndexOf("하세요");
System.out.println(index); // 하세요도 마지막 하를 발견한 13 출력
index = "시작하라 안녕하세요 건강하세요".lastIndexOf("A");
System.out.println(index);
//If no such value of k exists, then -1 is returned.
//존재하지 않는 인덱스 이므로 -1 출력
사용 방식: "문자열".split("구분자")
String food = "제육볶음,볶음밥,닭가슴살,함박스테이크,소고기덮밥";
String[] food_arr = food.split(",");
for(String fd : food_arr) {
// 향상된 for문 ->
// food_arr의 길이만큼 돌면서 처음은 "제육볶음"반환 두번째는 "볶음밥" 반환
// 세번째는 "닭가슴살" 반환 을 food_arr 이 끝날떄까지 돈다 (소고기덮밥까지)
System.out.println(fd);
}
-------------------------------------------------------------------
String food = "제육볶음 볶음밥 닭가슴살 함박스테이크 소고기덮밥";
String[] food_arr = food.split("\t");
for(int i = 0; i<food_arr.length; i++) {
System.out.println((i+1) + "." + food_arr[i]);
}
String food = "제육볶음.볶음밥.닭가슴살.함박스테이크.소고기덮밥";
String[] food_arr = food.split("[.]");
System.out.println(food_arr.length);
// split 사용시 구분자로 . | / 등 특수문자를 사용하려고 할 경우에는 구분자로 인식을 못할 경우가 많으므로 구분자 앞에 \\ 를 붙이거나 구분자를 [] 로 씌워주면 된다. (, 는 예외)
즉, \\구분자 이거나 [구분자] 이렇게 해야 한다.
----------------- 특수문자를 섞어 쓸 경우 ----------------
String food = "제육볶음.볶음밥,닭가슴살|함박스테이크.소고기덮밥";
String[] food_arr = food.split("[,.|\t]");
for(int i = 0; i<food_arr.length; i++) {
System.out.println((i+1) + "." + food_arr[i]);
}
//1. 제육볶음
//2. 볶음밥
//.. 순으로 출력된다
사용방법 : String.join("합칠 구분자", 문자열배열명)
String[] name_arr = {"한석규","두석규","세석규","네석규","오석규"};
System.out.println(String.join("-", name_arr));
//한석규-두석규-세석규-네석규-오석규
String str_1 = "시작하세요 안녕하세요 건강하세요";
str_1 = String.join("",str_1.split("하세요"));
//split은 배열을 리턴하기 때문에, String.join("합칠 구분자", 문자열배열명) 에 대입하면 일치한다.
System.out.println(str_1);
//시작 안녕 건강
-------------------------------------------------------
String bank_book_no = "103-23-523-009";
bank_book_no = String.join("",bank_book_no.split("[-]"));
//split 후 [103], [23], [523], [009] 배열로 된 것을 join을 통해
//String 타입으로 돌려준다.
System.out.println(bank_book_no);
//10323523009
String money1 = "$2,000,000";
String money2 = "$500,000";
money1 = String.join("", money1.split("[$]"));
money1 = String.join("", money1.split("[,]"));
money2 = String.join("", money2.split("[$]"));
money2 = String.join("", money2.split("[,]"));
int sumMoney = 1;
sumMoney = Integer.parseInt(money1) + Integer.parseInt(money2);
DecimalFormat df = new DecimalFormat("#,###"); //3 자리마다 콤마를 찍어준다.
System.out.println(df.format(sumMoney));
DecimalFormat은 구분선이나 소수점을 표현할때 사용한다