1) split() : 문자열을 특정 구분자를 기준으로 나누어 문자열 배열로 반환하는 메서드
String[] split(String regex)
String[] split(String regex, int limit)
- regex (정규 표현식) : 문자열을 나눌 때 사용할 기준. 정규 표현식 및 단순한 문자열 사용 가능(공백, 쉼표, 콜론 등)
* 정규 표현식 사용할 때 ., |, *은 정규표현식에서 의미를 갖기 때문에 이스케이프 문자 \\ 를 사용해야 한다.
- limit : 배열 길이의 최대 개수. 자르는 횟수나 방식 조절
▷ limit 파라미터
limit 값 > 0 : 최대 limit -1번만 자르고 나머지는 그대로
0 : 끝에 생긴 빈 문자열은 자동으로 제거 (기본 동작)
< 0 : 제한 없이 모두 자르고, 빈 문자열도 포함 ~> 나눈 전체 개수를 정확히 세고 싶을 때 사용
- split()은 배열을 반환하므로 길이/내용 확인할 때 for문 또는 Arrays.toString()이 필요하다.
split("") : 글자 단위로 하나씩 나눔
split(",") : ,로 나누고 끝에 빈 문자열 제거
split("", -1) : ,로 나누고 빈 문자열까지 모두 포함
split("\\s+") : 공백 여러 개 기준으로 나눔
예)
[프로그래머스/java/Lv.0] 공백으로 구분하기 1
* 문제 풀이class Solution { public String[] solution(String my_string) { String[] answer = my_string.split(" "); return answer; }} split() 함수를 이용해 공백 단위로 문자를 나눈다. * 프로그래머스 다른 풀이https://school.
amy-g.tistory.com
예)
public class Main {
public static void main(String[] args) {
String str = "apple,banana,orange";
String[] fruits = str.split(",");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
/*
출력
↓
apple
banana
orange
*/
* Arrays.toSTring() 사용해서 배열의 요소를 한 줄에 출력할 수 있다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String str = "apple-banana-orange";
String[] fruits = str.split("-");
System.out.println(Arrays.toString(fruits));
}
}
2) join() : 여러 문자열을 특정 구분자로 연결할 때 사용
배열 요소값을 '구분 문자열'로 연결하여 문자열 값으로 반환
인수값이 있을 경우 기본적으로 '구분 문자열'로 추가됨
연결값이 없을 경우(예: 마지막 연결 값) '구분 문자열' 적용되지 않음
String result = String.join(구분자, 문자열 배열 또는 리스트);
/*
- 구분자: 각 문자열 사이에 삽입할 문자열(예: ", ", "-", " " 등)
- 문자열 배열 또는 리스트: 연결할 문자열들의 컬렉션
*/
=> 구분자로 연결된 하나의 문자열을 반환
예) 프로그래머스 풀이
class Solution {
public String solution(String[] arr) {
arr = new String[]{"a","b","c"}
return String.join("", arr);
}
}
결과값 => "abc"
예)
public class Main {
public static void main(String[] args) {
String[] words = {"Apple", "Banana", "Cherry"};
String result = String.join(", ", words);
System.out.println(result);
}
}
결과값 => Apple, Banana, Cherry
'공부 > JAVA' 카테고리의 다른 글
| [JAVA] 데이터 변환 valueOf() / 문자열을 문자 배열로 반환 toCharArray() (0) | 2025.01.25 |
|---|---|
| [JAVA] Math.abs() 함수 (0) | 2025.01.13 |
| [JAVA] 문자열 포함 확인 contains() / 문자열 대체 replace() / 문자열 추출 substring() (0) | 2024.12.04 |
| length와 length() (0) | 2024.11.19 |
| [JAVA] 문자열 반복 repeat() (0) | 2024.11.14 |