문자열을 콤마를 기준으로 분리하는데 " "안에 있는 콤마는 무시하게 할수없나요?
string
java
comma
예를들어서
foo,bar,c;qual="baz,blurb",d;junk="quux,syzygy"
이런 문자열이 있으면
foo
bar
c;qual="baz,blurb"
d;junk="quux,syzygy"
이렇게 콤마 별로 쪼개는데 쌍따옴표안에있는 콤마는 무시하고싶어요. 어떻게 할수있을까요?
-
2016년 02월 04일에 작성됨
조회수 1181
1 답변
public class Main {
public static void main(String[] args) {
String line = "foo,bar,c;qual=\"baz,blurb\",d;junk=\"quux,syzygy\"";
String[] tokens = line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)", -1);
for(String t : tokens) {
System.out.println("> "+t);
}
}
}
이렇게 하시면
출력결과:
> foo
> bar
> c;qual="baz,blurb"
> d;junk="quux,syzygy"
이렇게 나옵니다.
-
2016년 02월 04일에 작성됨
출처 : https://stackoverflow.com/questions/1757065/java-splitting-a-comma-separated-string-but-ignoring-commas-in-quotes/2120714#2120714 이 질문은 저작자표시-동일조건변경허락(https://creativecommons.org/licenses/by-sa/3.0/deed.ko) 라이센스로 이용할 수 있습니다. 윤동길 2018.3.27 18:25