시각화/프로세싱

▶ Processing :: 프로세싱 기초예제 - 문자열(string)파헤치기

비주얼라이즈 2014. 5. 8. 12:47






문자열[String]


이번 포스팅에서는 프로세싱의 다양한 내용중에서도

'문자열' 관련 내용을 꼼꼼하게 정리해보고자 합니다.

{작성 된 후에도 추가 및 수정되는 부분이 있을 수 있습니다.)



들어가기 앞서, 이 포스팅의 예제는

[프로세싱 날개를달다][각주:1] 서적을 바탕으로 하였음을 말씀드립니다.






indexOf 함수


문자열에 존재하는 글자들의 순서열을 바탕으로 하며 하나 이상의 인자를 갖고, 인자에 해당하는 문자를 반환합니다.

만약 한개의 문자가 아닌 문자열을 또 다른 문자열에서 찾는다면?

 : 그 첫번째 문자가 갖고 있는 인덱스 번호를 반환합니다.


예제로 살펴보는 것이 더 편하겠지요?


String search = "def";
String toBesearched = "abcdefghijk";
int index = toBesearched.indexOf(search);
println(index);
결과 = 3

위의 예제에서는 하나의 문자가 아닌, 'def'라는 문자열을 찾은 경우입니다.

이 경우, abcdefghijk라는 문자열중에서 d에 해당하는 인덱스번호인

3이 결과값으로 나오게 됩니다.








substring(원하는문자의 첫 순서번호, 마지막 순서번호)


마찬가지로 예제를 통해 살펴보도록 하겠습니다.


String toBesearched = "abcdefghijk";
String sub = toBesearched.substring(3, 6);
println(sub);

이번에는 'abcdefghijk'중에서 3번째 순서번호와 6번째 순서번호 사이의

텍스트를 가져오는 모습입니다.






split()joint()


두개의 인자를 받는데, 하나는 문자열, 하나는 구획문자를 받습니다.

(구획문자는 한 문자도 가능하고, 문자열도 가능합니다.)


예시로, 공백을 기준으로 문자열을 구분하는 과정을 살펴보겠습니다.

####

String spaceword = "I'm convinced that the only thing that kept me going was that I loved what I did. ";
String[] list  = split(spaceword, " ");
for(int i = 0; i < list.length; i++){
  println(list[i] + " " + i);
}

결과는 아래사진과 같습니다.



더하여 하나이상의 구획문자를 사용할 때에는 splitTokens()함수를 사용합니다.

splitTokens() : 1개 이상의 부호나 문자를 기준으로 음절을 나누는 함수




미처 정리하지 못한, 문자열 포인트


문자열에서 찾을 수 없는 경우 프로세싱은 -1을 반환합니다.

문자열 속의 숫자들은 문자로 인식되기 때문에숫자로 변환해주어야합니다.

문자열은 배열처럼첫 문자는 인덱스번호가 0이고마지막은 문자열길이의 -1 입니다.













  1. 다니엘 쉬프만 지음, 랜덤웍스 옮김, 『프로세싱 - 날개를달다』, 2011, 비제이퍼블릭 [본문으로]