Graphisoft®

GSRootVersion: 1.0

UniString::operator()

문자열의 하위 문자열을 리턴합니다.

Substring operator() (
    UIndex              from,
    USize               range
);
ConstSubstring operator() (
    UIndex              from,
    USize               range
) const;
Substring operator() (
    UniChar             leftSeparator,
    UniChar             rightSeparator,
    UIndex              from = 0,
    USize               range = MaxUIndex
);
ConstSubstring operator() (
    UniChar             leftSeparator,
    UniChar             rightSeparator,
    UIndex              from = 0,
    USize               range = MaxUIndex
) const;

파라미터

from
하위 문자열을 시작 위치와 길이로 지정하였다면:
하위 문자열의 시작 위치입니다. 0부터 문자열의 길이이어야 합니다.

하위 문자열을 감싸는 문자들로 지정했다면:
시작 위치 구분자부터 문자들을 검색합니다. 0부터 문자열의 길이이어야 합니다.
range
하위 문자열을 시작 위치와 길이로 지정하였다면:
하위 문자열의 길이입니다. from + range는 0부터 문자열의 길이이어야 합니다.

하위 문자열을 감싸는 문자들로 지정했다면:
구분자 문자 범위 안에서 문자들을 검색합니다. from + range는 0부터 문자열의 길이이어야 합니다. 기본 값 MaxUSize는 범위가 문자열의 끝까지 확장된다는 것을 나타냅니다.
leftSeparator
하위 문자열의 왼쪽 구분자 문자입니다.
rightSeparator
하위 문자열의 오른쪽 구분자 문자입니다.

리턴 값

지정한 하위 문자열입니다. 비어 있을 수 있습니다.

설명

이 메소드는 문자열의 하위 문자열을 리턴합니다. 하위 문자열은 시작 위치 및 길이로 지정하거나 감싸는 문자들을 이용하여 지정할 수 있습니다. 후자의 경우, 적절한 하위 문자열을 찾지 못하면 빈 하위 문자열이 리턴됩니다. 감싸는 (구분자) 문자들은 하위 문자열에 속하지 않습니다.
하위 문자열은 소스 문자열의 지정된 부분을 참조하므로 그 자체는 결코 메모리를 할당하지 않습니다. 하위 문자열은 private 타입이므로 호출의 감싸는 표현(구문) 내부에서만 사용할 수 있습니다.

하위 문자열들은 다양한 타입들(문자열, 하위 문자열, C 문자열 등)과 효과적으로 비교할 수 있으며 다양한 할당 및 연결(concatenation)에 참여할 수 있습니다. 이 연산들은 항상 소스 문자열들의 해당 부분들에서 수행됩니다.

예제

GS::UniString us ("Example string");

bool b1 = us (3, 2) == us (5, 2);          // 하위 문자열들은 서로 비교할 수 있음

bool b2 = us ('{', '}', 0) == "Data";      // 하위 문자열들은 다른 타입들과 비교할 수 있음

us (0, 3) = "abcde";                       // 하위 문자열은 할당 연산에 참여할 수 있음

us = us (1, 2) + 'x' + "123" + us (4, 1);  // 하위 문자열은 연결(concatenation)에 참여할 수 있음

이 예제는 하위 문자열의 사용법을 설명합니다.

참고사항

GetSubstring | GetPrefix | GetSuffix | SetSubstring