문자열 중간 추출

원하는 위치에서 문자열을 추출합니다.

블록
텍스트

TARGET = substring(INPUT, STARTPOSITION, COUNT);
  1                  4          2          3

# 설명
1 [Destination Data]
추출된 문자열을 저장할 대상을 설정합니다.
2 [Start position]
문자열 추출의 시작점을 지정하는 정수 값입니다. 값은 1보다 크거나 같아야 하며 추출 가능한 시작 위치보다 적거나 같아야 합니다.
3 [Number of characters]

추출할 문자 수를 설정합니다. 값은 1보다 크거나 같아야 하며 추출할 수 있는 문자 수보다 작거나 같아야 합니다.

더블 바이트 문자는 단일 문자로 계산됩니다.

4 [Source Data]
추출할 문자열이 저장되는 원본 데이터를 설정합니다.

(예)

블록

텍스트

Var4 = substring(Var3,Var5,Var1);

작업 예

[Source Data]의 변수

[Start position]

[Number of characters]

[Destination Data]의 변수

설명

대상 문자열

최대 바이트 수 저장할 추출된 문자열
ABCDE 2 3 5BCD -
4 3 5(없음)
[Number of characters]가 검색 가능한 문자 수를 초과하므로 문자열이 저장되지 않습니다. "오퍼레이션 결과" 작업에서 실패로 판단됩니다.
6 3 5(없음)
[Start Position]이 사용 가능한 시작 위치를 초과하므로 문자열이 저장되지 않습니다. "오퍼레이션 결과"에서 실패로 판단됩니다.
0 3 5(없음)
[Start Position]이 1 미만이므로 문자열이 저장되지 않습니다. "오퍼레이션 결과"에서 실패로 판단됩니다.
-1 3 5(없음)
[Start Position]이 1 미만이므로 문자열이 저장되지 않습니다. "오퍼레이션 결과"에서 실패로 판단됩니다.
4 0 5(없음)
[Number of characters]가 1 미만이므로 문자열이 저장되지 않습니다. "오퍼레이션 결과" 작업에서 실패로 판단됩니다.
4 -1 5(없음)
[Number of characters]가 1 미만이므로 문자열이 저장되지 않습니다. "오퍼레이션 결과" 작업에서 실패로 판단됩니다.
2.1 3 5BCD [Start Position]의 소수 부분이 잘립니다.
2 3.5 5BCD
[Number of characters]의 소수점 오른쪽에 있는 값이 삭제됩니다.
ABCDEF 1 6 5(없음)
변환된 문자열이 저장할 수 있는 최대 바이트 수를 초과했으므로 문자열이 저장되지 않습니다. "오퍼레이션 결과" 작업에서 실패로 판단됩니다.
AB(0x00)CDE 2 3 5(없음)
문자열이 저장되지 않습니다. NULL(0x00)이 있는 경우 문자열이 거기서 종료됩니다. 그 결과, [문자 수]가 검색 가능한 문자 수를 초과합니다. "오퍼레이션 결과" 작업에서 실패로 판단됩니다.
4 3 5(없음)
문자열이 저장되지 않습니다. NULL(0x00)이 있는 경우 문자열이 거기서 종료됩니다. 그 결과, [Start position]이 사용 가능한 시작 위치를 초과합니다. "오퍼레이션 결과"에서 실패로 판단됩니다.
AあB 1 3 5AあB
문자열은 [Number of characters]를 기준으로 저장됩니다. *1
2 3 5(없음)
[Number of characters]가 검색 가능한 문자 수를 초과하므로 문자열이 저장되지 않습니다. "오퍼레이션 결과" 작업에서 실패로 판단됩니다.
2 2 5あB
문자열은 [Number of characters]를 기준으로 저장됩니다. *1

*1 [Destination Data] 변수의 최대 바이트 수가 검색된 문자열의 크기보다 작으면 작업이 실패합니다. 최대 바이트 수는 [Destination Data] 변수의 인코딩에 따라 달라집니다.