Java
Java - split()/join() 배열<->문자열 변환
맛도리얌
2022. 9. 23. 10:11
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"