Java String.split("") ".", " "(공백) 안될 때
[ 프로그래밍 ]
2018. 11. 19. 11:21
간혹 자바에서 URL, 문자열을 파싱하거나 파일명을 다룰 때, 명령어를 받아들일 때 등 String 형을 .split으로 다루다 보면 간혹 ". " 이나 " "(공백)이 잘 나눠지지 않는 경우가 있다.
.split(".")
.(점)의 경우에는 "." 을 "[.]" 혹은 "\\." 로 바꿔 주면 된다.
public class SplitbyDot { // . 이 포함된 URL private static String URL = "www.tistory.co.kr"; public static void main(String[] args) { System.out.println("\".\" 로 분리"); String[] ParsedURL = URL.split("."); System.out.println("배열 길이 : " + ParsedURL.length); printarr(ParsedURL); System.out.println("\"[.]\" 로 분리"); ParsedURL = URL.split("[.]"); printarr(ParsedURL); System.out.println("\"\\\\.\" 로 분리"); ParsedURL = URL.split("\\."); printarr(ParsedURL); } } /* 출력 "." 로 분리 배열 길이 : 0 "[.]" 로 분리 1. www 2. tistory 3. co 4. kr "\\." 로 분리 1. www 2. tistory 3. co 4. kr */
.split(" ")
공백의 경우 " " 대신 "\\s" 지시어를 이용할 수 있다.
public class space { // 공백 있는 문자열 private static String Space = "게임 하고싶다."; public static void main(String[] args) { System.out.println("\" \" 로 분리"); String[] ParsedSpace = Space.split(" "); printarr(ParsedSpace); System.out.println("\\\\s 로 분리"); ParsedSpace = Space.split("\\s"); printarr(ParsedSpace); } } /* 출력 " " 로 분리 1. 게임 2. 하고싶다. "\\s" 로 분리 1. 게임 2. 하고싶다. */
+ 추가 .split(" ")
공백이 여러 개 인 경우 split.("\\s+") 로 연속된 공백을 하나의 공백으로 취급하여 나눌 수 있다.
public class Spaaace { // 연속된 공백이 있는 문자열 private static String Spaaace = "게임 하고싶다."; public static void main(String[] args) { System.out.println("\"\\\\s\" 로 분리"); String[] ParsedSpace = Spaaace.split("\\s"); printarr(ParsedSpace); System.out.println("\"\\\\s+\" 로 분리"); ParsedSpace = Spaaace.split("\\s+"); printarr(ParsedSpace); } } /* 출력 "\\s" 로 분리 1. 게임 2. 3. 4. 5. 하고싶다. "\\s+" 로 분리 1. 게임 2. 하고싶다. */
void printarr(String[] arr)
private static void printarr(String[] arr) { for(int i = 0; i < arr.length; i++) { System.out.println(i+1 + ". " + arr[i]); } System.out.println(""); }
'[ 프로그래밍 ]' 카테고리의 다른 글
[IntelliJ] 스프링 라이브 리로드 기능 쓰기 (0) | 2022.02.25 |
---|---|
Discord4J로 Java 기반 디스코드 봇 만들기 (0) | 2018.11.18 |