본문 바로가기

LANGUAGES, METHODLOGY

[JAVA] split과 regex를 활용해 문자열 뽀개기

어떤 사정으로 인해 String을 문자와 숫자로 나눠보려는 마음에 여러 시도를 해보았으나 잘 되지않아


구글신님의 도움을 빌렸다. 


그분께 신탁을 맡겨본 결과 split과 regex(정규표현식)을 통해 손쉽게 문자열을 뽀갤 수 있다는 사실을 알았다.


우선 String input에 입력할 문자열을 입력하고, 이를 나눈 문자열을 저장하는 문자열 배열 String part[] 를 선언해둔다.


그리고 저장하려는 문자열 배열에 아래와 같이 작성해주면 본래 의도대로는 아니었으나, 기존 목표였던


숫자만을 선별해 저장하는데는 성공할 수 있었다.


이제 뽀갠 문자열을 필요에 맞게 사용하면 된다. 반대로 문자열만을 선별하자면 


정규표현식을 또 요리조리 만져야만 하겠다. 아직 정규 표현식을 제대로 이해하고 활용하기는 좀 어렵다는 생각.



+ 정규표현식이 완벽하지 않아 배열에 공백이 섞여 들어간 것을 볼 수 있다. 배열을 활용하면서 공백문자를 배제하고 쓰거나


    혹은 완벽한 정규표현식을 세우는 게 필요할 듯.



< 핵심 > 


part = input.split("[^A-Z0-9]+|[^0-9$]");






< 참고 > 


정규표현식 관련 : 

http://highcode.tistory.com/6


문자열 나누기 관련 스택 오버플로우:

https://stackoverflow.com/questions/16787099/how-to-split-the-string-into-string-and-integer-in-java