안녕하세요.
애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다.
지난번에 이어서 오늘도 문자열의 함수에 대해서 알아보도록 하겠습니다.
(첫인사가 계속 같은 말이네요. ㅎㅎ)
원하는 문자열 가져오기(하위 문자열 불러오기)
<string>substring <string> <from_integer> <length_integer>
문자열에 substring함수를 사용하여 원하는 위치와 원하는 길이를 입력하여 문자열의 일부를 받아옵니다.
문자열 형태로 돌려줍니다.
<from_integer>는 원하는 문자열의 시작 번호입니다.
<length_integer>는 <from_integer>에서 얼마큼 길게 선택할 것인가를 정합니다.
음수 값을 가지면 <from_integer> 이후의 모든 문자열을 받아 옵니다.
문자열의 길이보다 큰 값을 적으면 <from_integer>이후의 모든 값을 받아 옵니다.
다음과 같이 입력 후 실행하고 결과에 대해서 확인해 봅시다.
|
1
2
3
4
|
s ="Balerofon"
ss = substring s 5 3
ss = substring s 5 -1
ss = substring s 5 100
|
cs |

2번 라인은 Balerofon의 5번째 문자부터 3만큼의 길이를 가지기 때문에 r부터 3칸 뒤까지인 f를 포함한 값인 rof를 돌려줍니다.
3번 라인은 음수의 값을 갖고 있기 때문에 5번째 문자열부터 뒤의 모든 값을 받아 옵니다.
4번 라인은 문자열의 길이보다 큰 값을 갖고 있기 때문에 5번째 문자열부터 뒤의 모든 값을 받아 옵니다.
특정 문자의 유무 확인
<bool>matchPattern <string> pattern:<pattern_string> [ignoreCase:<boolean>]
문자열에 특정 문자가 있는지 없는지를 판단하여 있으면 참(true), 없으면 거짓(false)을 반환합니다.
이 함수는 if문과 함께 사용하여 특별한 목적의 오브젝트의 이름에 규약을 정하거나 했을 때 오브젝트의 이름으로 특정 행동을 할 수 있게 할 수 있어 저는 매우 유용하게 사용하는 함수입니다.
pattern:<pattern_string>은 문자열에서 검사를 바라는 문자(문자열)를 입력합니다.
[ignoreCase:<boolean>]는 만약 false로 지정하면 대소문자를 구분합니다.
다음과 같이 입력하고 실행한 후 결과를 확인해 봅시다.
|
1
2
3
4
5
|
s="text1"
matchPattern s pattern:"text?"
matchPattern s pattern:"T*"
matchPattern s pattern:"T*"ignoreCase:false
matchPattern s pattern:"s*"
|
cs |

2번 라인에 text?가 있는지 물어봅니다. 여기서 ?는 '한 글자 중 모든 것을 뜻'합니다.
즉 'text가 있고 그 뒤에 아무 글자 한 글자'가 되는 것입니다.
그렇기 때문에 text1을 확인했을 때 true가 반환됩니다.
3번 라인의 *은 모든 것을 뜻합니다.
즉 T*을 하게 되면 T앞에는 아무것도 없지만 T뒤에는 어느 글자가 와도 되는 것입니다.
?와 *이 다른 점은 ?는 한 글자이고 *는 길이 제한 없는 문자열입니다.
그리고 기본적으로 matchPattern함수는 대소문자를 구분하지 않습니다.
그렇기 때문에 T로 시작하는 문자열 이므로 true를 반환합니다.
4번 라인은 3번 라인과 같은 조건인데 ignoreCase:false를 붙여 대소문자를 구분하게 했습니다.
그렇기 때문에 false를 반환합니다.
5번 라인은 아예 존재하지 않는 s로 시작하는 문자열을 검색했으므로 false를 반환합니다.
오늘은 여기까지 이야기를 하고 다음에도 문자열 관련 함수에 대해서 계속 이야기하도록 하겠습니다.
문자열 관련 함수는 아마 다음번에 끝내도록 노력하겠습니다. ㅎㅎ
'맥스스크립트 기초' 카테고리의 다른 글
| Material Editor(2) (0) | 2019.10.04 |
|---|---|
| Material Editor(1) (0) | 2019.10.03 |
| User Defined (4) | 2019.10.02 |
| 문자열(String) 함수(5) (0) | 2019.09.04 |
| 문자열(String) 함수(3) (0) | 2019.09.02 |
| 문자열(String) 함수(2) (0) | 2019.09.01 |
| 문자열(String) 함수(1) (0) | 2019.08.31 |
| 맥스 스크립트의 유형(2), 사용자 스크립트 위치 (0) | 2019.08.20 |