반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Files
- Maven
- 자바스크립트
- javascript
- CMD
- Array
- 이클립스
- 이탈리아
- html
- string
- 문자열
- IntelliJ
- Java
- 자바
- js
- json
- Visual Studio Code
- date
- windows
- Button
- CSS
- 테이블
- 인텔리제이
- table
- input
- list
- vscode
- 배열
- Eclipse
- ArrayList
Archives
- Today
- Total
어제 오늘 내일
[Java] 구분자 여러개로 문자열 자르기 (split) 본문
지난번에는 split() 메소드를 사용하여 문자열을 자르는 방법을 알아보았습니다.
이 때는, 1개의 구분자를 이용하여 문자열을 자르는 예제를 살펴보았었습니다.
이번에는 여러개의 구분자로 문자열을 자르는 예제를 소개합니다.
구분자 여러개로 문자열 자르기(split())
split() 메소드는 다음과 같이 2가지 형태로 사용할 수 있습니다.
- public String[] split(String regex)
- public String[] split(String regex, int limit)
split() 메소드는 파라미터로 문자열을 구분할
정규식 형태의 구분자(delimiter)를 입력받습니다.
구분자는 정규식(regular expression) 형태이기 때문에,
이 구분자에 여러개의 구분자를 표현하는 정규식을 입력해주면,
여러개의 구분자로 문자열을 자를 수 있습니다.
예제 1.
import java.util.Arrays;
public class SplitMultiDelimiter {
public static void main(String[] args) {
String str = "a@b#c%d";
String[] strArr = str.split("@|#|%");
System.out.println(Arrays.toString(strArr)); // [a, b, c, d]
}
}
str.split("@|#|%");
정규식에서 '|' 기호는 or 연산을 수행합니다.
따라서, 위 코드는
'@' 또는 '#' 또는 '%' 기호를 구분자로 하여 문자열을 잘라줍니다.
예제 2.
import java.util.Arrays;
public class SplitMultiDelimiter {
public static void main(String[] args) {
String str = "a.b,c+d";
String[] strArr = str.split("\\.|,|\\+");
System.out.println(Arrays.toString(strArr)); // [a, b, c, d]
}
}
str.split("\\.|,|\\+");
위 코드는 '.', ',, '+' 기호를 구분자로 하여 문자열을 잘라줍니다.
정규식에서 '.'과 '+'는 특별한 의미를 가집니다.
'.'은 임의의 한 문자를 나타내고, '+'는 앞 문자가 하나 이상인 경우를 나타냅니다.
따라서, '.'과 '+'를 단순한 문자열로 인식하여, 구분자로 사용하기 위해서
앞에 escape 문자열인 '\\'을 추가하였습니다.
여러개의 구분자로 문자열을 자르는 방법을 알아보았습니다.
반응형
'IT > Java' 카테고리의 다른 글
[Java] 특정 인덱스에서 배열 자르기 (1) | 2021.07.16 |
---|---|
[Java] 문자열 마침표(dot)로 구분하여 자르기 (split) (0) | 2021.07.12 |
[Java] 배열을 Set으로, Set을 배열로 변환하기 (0) | 2021.07.11 |
[Java] 파일 이름 변경 / 이동하기 (0) | 2021.06.26 |
[Java] Date <-> LocalDate, LocalDateTime 변환하기 (1) | 2021.06.20 |
Comments