Main Content

parse

클래스: matlab.net.http.HeaderField
네임스페이스: matlab.net.http

헤더 필드 값을 구문 분석하고 string형으로 반환

설명

value = parse(obj)는 헤더 필드의 Value 속성을 구문 분석하고 string형을 반환합니다. matlab.net.http.field 네임스페이스의 클래스에 해당하지 않는 헤더 필드를 처리하려면 이 메서드를 사용하십시오. 네임스페이스에 포함된 클래스를 표시하려면 matlab.net.http.HeaderField.displaySubclasses 메서드를 사용하십시오. 네임스페이스에 포함된 클래스의 경우 해당 convert 메서드를 사용하여 값을 구문 분석합니다.

구문 분석 규칙은 IETF®(Internet Engineering Task Force) 웹사이트의 RFC 7230 Message Syntax and Routing section 3.2.4-3.2.6을 기반으로 하고 여러 값을 해석하도록 확장됩니다.

예제

value = parse(obj,fields)는 이름 없는 struct 필드에 사용할 이름을 지정합니다.

struct의 N번째 필드에 이름이 없는 경우, 대응되는 fields에는 N번째 이름이 존재하며 비어 있지 않습니다. 이 이름이 Arg_N 대신 사용됩니다. 이 구문을 사용하면 반환되는 value가 최소한 fields의 길이와 같은 개수의 필드를 갖는 struct(또는 struct 객체의 벡터)가 됩니다. 일반적으로 이 패턴은 토큰으로 시작하고 그 뒤에 특성 쌍이 오는 헤더 필드에 사용됩니다.

value = parse(___,Name,Value)는 하나 이상의 구분 기호를 지정합니다. 디폴트 구분 기호는 쉼표와 세미콜론입니다. 위에 열거된 구문의 모든 입력 인수와 사용할 수 있습니다.

입력 인수

모두 확장

헤더 필드로, matlab.net.http.HeaderField 객체로 지정되거나 HeaderField 객체의 벡터로 지정됩니다.

struct 필드의 이름으로, string형 벡터, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

배열 요소를 구분하는 구분 기호로, 다음으로 지정됩니다.

  • string형 벡터, 문자형 벡터, 가능한 구분 기호를 지정하고 벡터에 표시된 순서대로 해석되는 정규 표현식으로 구성된 셀형 벡터 중 하나.

  • ''obj를 배열로 구문 분석하지 않습니다. MATLAB®이 따옴표와 이스케이프 문자를 삽입합니다.

  • []obj를 배열로 구문 분석하지 않습니다. MATLAB이 따옴표나 이스케이프 문자를 배열 요소에 삽입하지 않습니다.

구조체 필드를 구분하는 구분 기호로, 다음으로 지정됩니다.

  • string형 벡터, 문자형 벡터, 가능한 구분 기호를 지정하고 벡터에 표시된 순서대로 해석되는 정규 표현식으로 구성된 셀형 벡터 중 하나.

  • ''objstruct로 구문 분석하지 않습니다. MATLAB이 따옴표와 이스케이프 문자를 삽입합니다.

  • []objstruct로 구문 분석하지 않습니다. MATLAB이 따옴표나 이스케이프 문자를 struct 값에 삽입하지 않습니다.

출력 인수

모두 확장

헤더 필드 Value 속성으로, string형 벡터, struct형 배열 또는 struct형 값으로 구성된 셀형 배열로 반환됩니다.

MATLAB은 Value 속성을 쉼표로 구분된 문자열로 구문 분석합니다. 각 문자열은 value 벡터의 요소가 됩니다. 요소는 다음 중 하나입니다.

  • name=value 쌍의 struct

  • 세미콜론으로 구분된 값의 struct

  • 문자열 - 필드가 세미콜론이나 등호를 포함하지 않거나 구조체가 아닌 경우.

parsematlab.lang.makeValidName을 사용하여 각 struct 필드의 이름을 유효한 MATLAB 식별자로 변환합니다. 다음 Value 속성에 대해, parse_p1에서 필드 이름 x_p1을 생성합니다.

중복된 이름을 해결하기 위해 parsematlab.lang.makeUniqueStrings를 호출합니다. 다음 Value 속성에 대해, parse는 중복된 필드 이름 p1에서 필드 이름 p11을 생성합니다.

struct 필드에 name=value 쌍은 포함되지 않고 Value만 포함된 경우, 필드 이름은 Arg_N입니다. Nstruct에서 필드의 순서 위치입니다. 다음 Value 속성에 대해, parse는 누락된 이름에 대한 필드 이름 Arg_2를 생성합니다.

Value 속성

출력 인수

설명

"p1=first p2=second"
    p1: "first"
    p2: "second"

parsename=value 쌍에 대한 struct를 반환합니다.

"first;second"
    Arg_1: "first"
    Arg_2: "second"

parsestruct를 반환하고 세미콜론으로 구분된 값에 디폴트 필드 이름을 할당합니다.

"first second"
"first second"

parse는 필드가 세미콜론이나 등호를 포함하지 않거나 구조체가 아닌 경우 문자열을 반환합니다.

"_p1=first p2=second"
    x_p1: "first"
      p2: "second"

parse는 유효하지 않은 필드 이름 _p1x_p1로 변환합니다.

"p1=first p1=second"
     p1: "first"
    p11: "second"

parse는 중복된 필드 이름 p1p11로 변환합니다.

"p1=first; second"
       p1: "first"
    Arg_2: "second"

parseValue second의 누락된 이름에 대해 필드 이름 Arg_2를 생성합니다.

"p1=first; p3=(a comment here)"
    p1: "first"
    p3: "(a comment here)"

parse는 주석을 유지합니다.

obj가 헤더 필드로 구성된 벡터인 경우 parse 메서드는 각 필드를 구문 분석한 결과를 단일 배열로 결합합니다. 값의 유형이 다른 경우 value는 셀형 배열입니다.

헤더 필드 벡터의 Value 속성

셀형 배열 출력 인수의 요소

"p1=first p2=second"
x{1} =
 
    p1: "first"
    p2: "second"
"third"
x{2} =
 
third

예제

모두 확장

서버에서 반환하는 응답 메시지에서 Value 속성으로 media-type; name1=value1; name2=value2를 갖는 헤더 필드 H를 수신한다고 가정합니다. 이 예제를 실행하려면 변수 H를 생성하십시오.

H = matlab.net.http.HeaderField('Test-Name','media-type; name1=value1; name2=value2')
H = 

  HeaderField with properties:

     Name: "Test-Name"
    Value: "media-type; name1=value1; name2=value2"

HValue 속성을 구문 분석합니다. MATLAB이 디폴트 필드 이름 Arg_1을 만듭니다.

var = parse(H)
var = 

  struct with fields:

    Arg_1: "media-type"
    name1: "value1"
    name2: "value2"

이 디폴트 이름을 더욱 의미 있는 이름 MediaType으로 변경합니다.

var = parse(H,'MediaType')
var = 

  struct with fields:

    MediaType: "media-type"
        name1: "value1"
        name2: "value2"

특성

Sealedtrue

메서드의 특성에 대해 자세히 알아보려면 메서드 특성을 참조하십시오.

버전 내역

R2016b에 개발됨