자바(Java)〃문자열(1) charAt / subString / split

반응형


어제 배열까지 정리함으로 자바에서 기본적으로 알아두어야 할 개념들은 어느정도 알아보았는데요. 이제 슬슬 일도 구해야 되서 jsp와 spring에 대해 포스팅하기 전에 String 문자열 관련 명령어들을 살짝 정리해보려고 합니다.


제가 몇달전 학원에서 강사님이 타자프로그램을 만들어보라 하셨는데 어려웠던 부분이 String 문자열 이더라고요. 그래서 문자열(1)에서는 문장중에 있는 문자를 추출하는 charAt()과 문자열 잘라내기인 substring() 그리고 문자열을 구분하여 배열에 저장하는 split()에 대해 포스팅하겠습니다. 문자열(2)글에서는 StringTokenizer에 대해 정리할게요. 




charAt (문장중에 인덱스 위치에 해당되는 문자 추출하기)


위 예제를 해석하면 aaa에 문장을 저장하고 해당하는 문장 위치의 문자를 charAt으로 불러온 모습입니다. 정말 간단하지만 if문이나 for문, switch문을 활용하면 다양한 프로그램을 만들수 있으니 알아두면 좋아요.




 subString ( 원하는 범위만큼 문자열 잘라내기 )


이번엔 해당되는 문자열을 추출하는것에 추가하여 원하는 만큼 범위의 문자를 가져올 수 있는 명령어입니다. 제가 사용한 예제에서는 인덱스 범위 2~5의 문자를 추출하기로 했기 때문에 aaa에 선언한 "가나다라마바사" 중에 "다라마"를 잘라내어 결과값에 출력했습니다.




 split ( 주어진 문자로 분리하여 배열에 저장 )


split은 타자게임에서 활용되는 명령어중 하나로 지극히 제 개인적인 생각으로 다음글에서 정리할 StringTokenizer의 하위호환이라고 볼 수 있겠네요. 위 사진의 예제는 aaa에 띄어쓰기를 포함한 문장을 생성하고 split으로 띄어쓰기를 구분하여 배열에 저장한 모습입니다. 하지만 띄어쓰기 뿐만 아니라 쉼표(,)나 마이너스(-)등 여러개로 구분해서 배열하려면 어떻해야 될까요??



바로 |(파이프)로 구분해서 선언해주면 되는데 쉬프트+₩를 눌른게 파이프입니다. 제 예제에서는 띄어쓰기를 먼저 넣어서 헷갈릴수도 있겠지만 띄어쓰기를 빼고 쉼표와 & - 를 넣어 구분하겠다 하시면 split(", | & | - ") 이렇게 사용하면 됩니다.


제가 알고 있기로는 구분할 수 있는 단어가 (띄어쓰기, 쉼표(,) / 마이너스(-) / 앤드(&)) 4가지로만 알고 있어서 점이나 물음표등으로 구분하려고 한다면 빈공백으로 출력되기 때문에 다른 명령어를 사용하시는게 좋을것 같습니다. 


공부하는 입장으로 블로그에 올리는거라 혹시 점(.)으로도 구분이 가능하면 댓글로 알려주시면 감사하겠습니다.

반응형