220617 TIL

Yeoni·2022년 6월 17일
0

국비교육TIL

목록 보기
13/41

국비교육 13일차 Java : String

1. String

1) 문자열.charAt(int index)

char ch = "안녕하세요".charAt(2);
System.out.println("ch => " + ch); 
// ch => 하
  • 글자 역순으로 출력해주기
String str = "안녕하세요";
String result = "";
for(int i=str.length()-1; i>=0; i--) { 	
	result += str.charAt(i);
/// 요세하녕안

2) "문자열".toCharArray()

  • 문자열을 char 타입의 배열로 만들어준다.
char [] ch_arr = "안녕하세요".toCharArray();
String result = "";
		
for(int i=ch_arr.length-1; i>=0; i--) {
	result += ch_arr[i];		
}				
System.out.println(result);
// 요세하녕안

3) "문자열".substring(int 시작인덱스, int 끝인덱스)

  • 시작인덱스부터 끝인덱스 앞까지 글자 가져옴
String str = "안녕하세요".substring(1,4);
//       0 1 2 3 4
System.out.println(str);
// 녕하세

String s = "안녕하세요 행복하세요 룰루";
System.out.println(s.substring(2,s.length())); 	
// -1을 하지 않아도 끝까지 글자가 나오는 이유는 index가 0부터 시작하기 때문	
// 하세요 행복하세요 룰루

4) "문자열".substring(int 시작인덱스)

  • 시작인덱스부터 끝까지 뽑아온다.
String s = "안녕하세요 행복하세요 룰루";
System.out.println(s.substring(2)); 
// 하세요 행복하세요 룰루

5) 문자열".indexOf("찾을문자열")

  • 문자열에서 최초로 나오는 "찾을 문자열"의 index(int)를 알려준다.
int index = "안녕하세요 행복하세요 룰루".indexOf("행복");
System.out.println(index);
// 6
// 0 찾고자 하는 문자열이 있으면 0 이상이 나온다.  
		
index = "안녕하세요 행복하세요 룰루".indexOf("히히");
System.out.println(index);
// -1 찾고자 하는 문자열이 없으면 -1이 나온다. 

6) "문자열".lastIndexOf("찾을문자열")

  • 문자열에서 마지막으로 나오는 찾을문자열 인덱스
int index = "안녕하세요 행복하세요 룰루".lastIndexOf("하세요");
System.out.println(index);
// 8

7) "문자열".split("구분자")

  • 문자열을 구분자로 잘라서 String 타입의 배열로 돌려준다.
String str = "안녕하세요, 행복하세요, 룰루";
	
String[] str_arr = str.split(",");
		
String result = "";
for(int i=0; i<=str_arr.length-1; i++) {
	result += str_arr[i];
}			
System.out.println(result);
// 안녕하세요 행복하세요 룰루
String str = "a-b-c-d-e";

String[] str_arr = str.split("[-]");


for(int i=0; i<str_arr.length; i++) {
	System.out.println(str_arr[i]);
}
  • split 사용시 구분자로 . | / 등 특수문자를 사용할 때는 구분자로 사용되어지는 특수문자 바로 앞에 \\를 붙이거나 아니면 대괄호를 사용하여 [특수문자]로 표기해야한다.
  • 구분자가 여러개일 경우에는 대괄호를 사용하는데 [. , \t |] 와 같은 방식으로 사용할 수 있다.

8) String.join("구분자", 문자열배열)

  • 문자열배열을 "구분자"로 합쳐서 String 타입으로 return
String[] str_arr = {"a","b","c","d","e"};
String str = String.join("-", str_arr);
		
System.out.println(str);
// a-b-c-d-e

9) "문자열".replaceAll("변경대상문자열", "새로변경될문자열")

  • "문자열"에서 "변경대상문자열"을 모두 "새로변경될문자열"로 교체해준다.
String str = "a1,b1,c1,d1,e1";
str = str.replaceAll("1", "10");

System.out.println(str);
// a10,b10,c10,d10,e10

10) "문자열".replaceFirst("변경대상문자열", "새로변경될문자열)

  • "문자열"에서 "변경대상문자열" 중 첫번째만 "새로변경될문자열"로 교체해준다.
String str = "a1,b1,c1,d1,e1";
str = str.replaceFirst("1", "10");

System.out.println(str);
// a10,b1,c1,d1,e1

배열이 나오면서 이번 주 수업 진짜 어려웠다... 주말에 더 공부해야 할 것 같다..

profile
이런 저런 기록들

0개의 댓글