Main Content

strtok

문자열의 선택된 일부

설명

예제

token = strtok(str)은 공백 문자를 구분 기호로 사용하여 왼쪽에서 오른쪽으로 str 구문을 분석하고, token의 일부 또는 모든 텍스트를 반환합니다. 먼저, strtokstr의 선행 공백을 모두 무시합니다. 그런 다음, strtok은 공백이 아닌 첫 번째 문자에서 시작하여 다음 공백 문자까지의 모든 문자를 포함시킵니다(다음 공백 문자는 제외). strtoktoken에 해당 텍스트 부분을 반환합니다. strtok이 구분 기호로 사용할 공백을 찾지 못하는 경우 token에는 str의 끝까지의 모든 문자가 포함됩니다.

예제

token = strtok(str,delimiters)delimiters의 문자를 사용하여 str 구문을 분석합니다. delimiters에 둘 이상의 문자가 들어 있는 경우 strtokdelimiters의 각 문자를 별개의 구분 기호로 취급합니다. 구분 기호는 개별 문자이므로, delimiters의 크기는 상관이 없으며, delimiters 내의 문자는 아무 순서여도 됩니다.

이 구문에서 공백 문자는 delimiters에 포함시키지 않는다면 구분 기호가 아닙니다.

예제

[token,remain] = strtok(___)는 있는 경우 remain으로 나머지 텍스트를 반환합니다. strtok이 구분 기호를 찾으면 이것은 remain의 시작 지점에 포함됩니다. strtokstr에서 구분 기호를 찾지 못하면 선행 구분 기호를 제외하고 tokenstr 전체를 반환하며, remain에는 문자를 반환하지 않습니다. 이 구문은 위에 열거된 구문 중 하나의 입력 인수에 사용할 수 있습니다.

예제

모두 축소

문자형 벡터를 만듭니다. 구분 기호인 첫 번째 공백 문자까지의 모든 텍스트를 반환합니다. strtok는 선행 공백 문자는 버립니다.

chr = '     Four score and seven years ago'
chr = 
'     Four score and seven years ago'
token = strtok(chr)
token = 
'Four'

문자열을 생성합니다.

str = "A horse! A horse! My kingdom for a horse!"
str = 
"A horse! A horse! My kingdom for a horse!"

'!' 문자를 구분 기호로 사용하여 문자열의 첫 번째 부분을 반환합니다.

token = strtok(str,'!')
token = 
"A horse"

string형 배열을 만듭니다.

str = ["all in good time";
       "my dog has fleas";
       "leave no stone unturned"]
str = 3x1 string
    "all in good time"
    "my dog has fleas"
    "leave no stone unturned"

string형 배열로 토큰을 반환하며, 나머지 텍스트도 두 번째 string형 배열로 반환합니다.

[token,remain] = strtok(str)
token = 3x1 string
    "all"
    "my"
    "leave"

remain = 3x1 string
    " in good time"
    " dog has fleas"
    " no stone unturned"

샘플 HTML 코드가 들어 있는 문자열을 만듭니다. < 문자와 > 문자로 구분된 세그먼트로 분할합니다. string형 배열에 세그먼트를 저장합니다.

큰따옴표를 사용하여 string형을 생성할 수 있습니다. 여러 문자열을 한 문자열로 결합하려면 plus 연산자 +를 사용하십시오.

str = "<ul class=continued><li class=continued>" + ...
      "<pre><a name=""13474""></a>token = strtok" + ...
      "(str,delimiter)<a name=""13475""></a>" + ...
      "token = strtok(str)"
str = 
"<ul class=continued><li class=continued><pre><a name="13474"></a>token = strtok(str,delimiter)<a name="13475"></a>token = strtok(str)"

코드 세그먼트를 넣을 빈 string형 배열을 만듭니다.

segments = strings(0)
segments = 

  0x0 empty string array

str을 세그먼트로 분할합니다. 나머지 HTML 텍스트에 대해 strtok를 반복적으로 호출하는 while 루프를 작성합니다. while 루프는 구문 분석할 텍스트가 더 이상 없으면 종료됩니다.

remain = str;
while (remain ~= "")
   [token,remain] = strtok(remain, '<>');
   segments = [segments ; token];
end

코드 세그먼트를 표시합니다.

segments
segments = 9x1 string
    "ul class=continued"
    "li class=continued"
    "pre"
    "a name="13474""
    "/a"
    "token = strtok(str,delimiter)"
    "a name="13475""
    "/a"
    "token = strtok(str)"

입력 인수

모두 축소

입력 텍스트로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

데이터형: string | char | cell

구분 문자로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. strtok이 개별 문자를 구분 기호로 취급하기 때문에 delimiters는 원하는 크기를 가질 수 있으며, 여러 문자가 순서에 상관없이 포함될 수 있습니다.

예: strtok(str,{'YZ','X'})'X', 'Y', 'Z'를 별개의 구분 기호로 취급합니다. 이 구문은 'YZ'를 구분 기호로 취급하지 않습니다.

데이터형: string | char | cell

출력 인수

모두 축소

텍스트의 선택된 부분으로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 반환됩니다. token에는 구분 기호가 아닌 첫 번째 문자에서 시작되고 다음 구분 기호에서 끝나는(다음 구분 기호는 제외) 모든 텍스트가 포함됩니다. strtoken은 동일한 데이터형을 가집니다.

데이터형: string | char | cell

나머지 텍스트로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 반환됩니다. strtokstr에서 구분 기호를 찾은 경우 remain에는 이 구분 기호에서 시작되고(구분 기호 포함) 텍스트 끝에서 끝나는 모든 텍스트가 포함됩니다. strremain은 동일한 데이터형을 가집니다.

데이터형: string | char | cell

이스케이프 문자 시퀀스를 구분 기호로 지정하지 마십시오. strtok은 이스케이프 문자 시퀀스를 변환하지 않습니다. 그 대신, char 함수를 사용하여 이러한 문자를 지정할 수 있습니다. 예를 들어, 탭을 구분 기호로 지정하려면 '\t' 대신 char(9)를 사용하십시오.

확장 기능

버전 내역

R2006a 이전에 개발됨