split(String regex)

구분자를 기준으로 배열 형식으로 문자열을 잘라서 리턴

 

//공백을 기준으로 문자열을 분리
String str = "a b c d e" 
String[] ArraysStr = str.split(" ");

//여러개의 구분자를 두어 분리
String str = "a,b c-d#e"
String[] ArraysStr = str.split(",=#");

//split 이후에 [index]를 사용하면 해당하는 순서의 값만 가져올 수 있음
String str = "a b c d e" 
String[] ArraysStr = str.split(" ")[1]; //b

 

 

 

split(String regex,int limit)

구분자를 기준으로 배열 형식으로 문자열을 limit수만큼 자름

 String[] LimitThree = str.split(" ", 3);
 //3개의 배열로 나눠줌, 나머지 문자열은 마지막 배열에 그대로 표기

 

 

활용
//입력받은 문자열을 구성하는 각 단어의 첫 글자로 이루어진 문자열을 return하는 메소드를 작성해보자!

public String firstCharacter(String str) {
		if(str.length() ==0)return s;
        String s = "";
		String[] hi = str.split(" "); //문자열을 공백을 기준으로 잘라 hi에 저장
		for(String t : hi){
		s = s + t.charAt(0);
		}return s;
	} 
}


String output = firstCharacter("hello world");
System.out.println(output); // --> "hw"

output = firstCharacter(
  "The community at Code States might be the biggest asset"
);
System.out.println(output); // --> "TcaCSmbtba"

 

 

 

 

 

 

String.join()

split과 반대되는 개념

배열을 문자열로 합쳐줌

String.join(넣고싶은 문자열,배열명)

//코플릿 예제
    if(str.length() == 0) return "";

    String[] words = str.split(" ");
    String result = "";

    for(int i = 0; i < words.length; i++) {
      if(words[i].isEmpty()) {
        words[i] = words[i]; 
      } else {
        words[i] = words[i].substring(0,1).toUpperCase() + words[i].substring(1);
      }
    }

    result = String.join(" ", words);
    return result;
    
String output = letterCapitalize('i am  so hungry');
System.out.println(output2); // "I Am  So Hungry"
복사했습니다!