728x90
split() 메서드로 문자열 자르기
- public String split(String regex)
- public String split(String regex, int limit)
regex : 문자열을 구분하기 위한 정규 표현임.
limit : 분류할 문자열의 수. 분류할 수 있는 단어가 10개인데 limit 가 5 이면 5개만 구분하고 나머지는 통채로 출력함.
1. 배열로 만들어서 반환
public class Split {
public static void main(String[] args) {
String str1 = "일과 놀이 사이에는 경계가 없다.";
String[] words = str1.split("\\\\s");
for (String wo : words ){
System.out.println(wo);
}
}
}
// 결과
일과
놀이
사이에는
경계가
없다.
문자열에 있는 단어 사이에 공백으로 구분을 하기 위해 Split 함수의 인수로 공백을 나타내는 정규 표현식을 넣었음. 그럼 단어들을 전부 배열로 만들어서 반환해 줌.
2. 하나씩 잘라서 담기
public class Split {
public static void main(String[] args) {
String str1 = "phone;;name;id;pwd";
String word1 = str1.split(";")[0];
String word2 = str1.split(";")[1];
String word3 = str1.split(";")[2];
System.out.println("첫번째 단어:" + word1);
System.out.println("두번째 단어:" + word2);
System.out.println("세번째 단어:" + word3);
}
}
// 결과
첫번째 단어:phone
두번째 단어:
세번째 단어:name
하나씩 잘라서 담는 것. 원하는 배열 요소에 for 문을 돌려 꺼낼 필요 없이 바로 접근해서 가져올 수 있음. 그리고 잘랐는데 아무것도 없다면 빈 공백을 반환함.
3. 구분하는 개수를 제한하는 함수를 사용
public class Split {
public static void main(String[] args) {
String str1 = "phone;name;id;pwd";
String[] words1 = str1.split(";", 0);
String[] words2 = str1.split(";", 2);
System.out.println("0 일때 : ");
for (String wo : words1 ){
System.out.println(wo);
}
System.out.println("\\r\\n2 일때 : ");
for (String wo : words2 ){
System.out.println(wo);
}
}
}
// 결과
0 일때 :
phone
name
id
pwd
2 일때 :
phone
name
id;pwd
구분하는 개수를 제한하는 함수를 사용한 것. 구분할 수 있는 개수가 4개인데 두 번째 인수인 limit 로 2를 입력하면 총 배열의 크기는 3이 됨. 2개까지는 구분이 되고 나머지는 그대로 출력이 되기 때문임.
String.join()으로 합치기
String[] color = new String[] { " 빨강", "노랑", "초록", "파랑" };
System.out.println(String.join("+ ", color));
// 결과
빨강+ 노랑+ 초록+ 파랑
String 배열에 있는 것들을 한번에 합칠 수 있음.
728x90