strsplit()은 문자열 안에 원소와 원소를 구분할 수 있는 구분자(예를 들면, 공백이나 콤마 같은)가 있을 경우에 쓸모가 있습니다. 이와 같이 쭉 붙어 있는 문자열에서 자리수만 가지고 연월일시분을 구분하게 될 때는 strmid() 함수를 쓰는 것이 일반적입니다.
time = ‘201312312359’
yy=fix(strmid(time, 0, 4))
mm=fix(strmid(time, 4, 2))
dd=fix(strmid(time, 6, 2))
hh=fix(strmid(time, 8, 2))
mi=fix(strmid(time, 10, 2))
strmid(문자열, 시작위치, 문자개수) 의 형식이므로 결과도 직관적입니다. 다만 strmid()의 리턴값도 문자열 타입미으로 fix() 함수를 써서 정수형으로 바꾸었습니다. 정수형 변환이 필요 없다면 fix() 함수를 벗겨내면 됩니다.
좀 다른 방법으로 다음과 같이 format 코드를 이용하여 분해하는 방법도 있습니다.
yy=0 & mm=0 & dd=0 & hh=0 & mi=0
reads, time, yy, mm, dd, hh, mi, format='(I4,4I2)’
C의 printf 스타일 포맷코드를 이용하면 다음과 같이 씁니다. 내부 작동 방식은 동일합니다.
reads, time, yy, mm, dd, hh, mi, format='(%”%4d%2d%2d%2d%2d”)’