문자열을 콤마를 기준으로 분리하는데 " "안에 있는 콤마는 무시하게 할수없나요?
조회수 4895회
예를들어서
foo,bar,c;qual="baz,blurb",d;junk="quux,syzygy"
이런 문자열이 있으면
foo
bar
c;qual="baz,blurb"
d;junk="quux,syzygy"
이렇게 콤마 별로 쪼개는데 쌍따옴표안에있는 콤마는 무시하고싶어요. 어떻게 할수있을까요?
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"
이렇게 나옵니다.
댓글 입력