Main Content

convertStringsToChars

string형 배열을 문자형 배열로 변환하고 다른 배열은 변경하지 않기

설명

자신의 코드에서 작업할 때는 convertStringsToChars를 사용함으로써 string형 입력을 허용하도록 할 수 있습니다. 이렇게 하면 문자형 배열로 작업하기 위해 이미 작성한 코드를 변경할 필요가 없습니다.

B = convertStringsToChars(A)A가 string형 배열이면 A를 문자형 벡터나 문자형 벡터로 구성된 셀형 배열로 변환합니다. 그렇지 않으면, convertStringsToCharsA를 변경하지 않은 상태로 반환합니다.

예제

[B1,...,Bn] = convertStringsToChars(A1,...,An)A1,...,An에 있는 string형 배열을 문자형 벡터나 문자형 벡터로 구성된 셀형 배열로 변환한 다음, 대응 출력 인수로서 B1,...,Bn에 반환합니다. 인수 A1,...,An에 다른 데이터형이 있으면 convertStringsToChars는 그것을 변경하지 않은 상태로 반환합니다.

예제

예제

모두 축소

string형 스칼라를 만들고 이것을 문자형 벡터로 변환합니다.

str = "Mercury"
str = 
"Mercury"
chr = convertStringsToChars(str)
chr = 
'Mercury'

string형 배열을 문자형 벡터로 구성된 셀형 배열로 변환합니다.

str = ["Venus","Earth","Mars"]
str = 1x3 string
    "Venus"    "Earth"    "Mars"

C = convertStringsToChars(str)
C = 1x3 cell
    {'Venus'}    {'Earth'}    {'Mars'}

임의 개수의 다른 유형 입력 배열을 제공하고 string형 배열만 문자형 배열로 변환합니다.

숫자형 배열, 문자형 배열, string형 배열로 구성된 세트를 만듭니다.

A = [1 2 3]
A = 1×3

     1     2     3

str = ["Mercury","Gemini","Apollo"]
str = 1x3 string
    "Mercury"    "Gemini"    "Apollo"

B = [2 5; 7 6]
B = 2×2

     2     5
     7     6

C = {'volts','amps'}
C = 1x2 cell
    {'volts'}    {'amps'}

string형 배열을 변환하고 다른 배열은 변경하지 않은 상태로 반환합니다.

[newA,newStr,newB,newC] = convertStringsToChars(A,str,B,C)
newA = 1×3

     1     2     3

newStr = 1x3 cell
    {'Mercury'}    {'Gemini'}    {'Apollo'}

newB = 2×2

     2     5
     7     6

newC = 1x2 cell
    {'volts'}    {'amps'}

입력 인수

모두 축소

입력 배열로, 아무 크기나 아무 데이터형의 배열로 지정됩니다.

출력 인수

모두 축소

출력 배열. 출력 배열의 데이터형은 입력 배열 A의 데이터형에 따라 달라집니다.

  • A가 string형 스칼라이면 B는 문자형 벡터입니다.

  • A가 비 스칼라 string형 배열이면 B는 원래 요소와 같은 크기의 문자형 벡터로 구성된 셀형 배열입니다.

  • A가 기타 다른 데이터형이면 BA와 같습니다.

A가 string형 배열이면 convertStringsToChars는 다음 요소를 변환합니다.

  • 빈 문자열(""로 표시됨)을 0×0 문자형 배열(''로 표시됨)로

  • 누락값인 string형(<missing>으로 표시됨)을 0×0 문자형 배열로

A가 빈 string형 배열이면 B는 빈 셀형 배열입니다. 빈 배열은 적어도 한 차원의 크기가 0입니다.

  • 기존 코드에서 string형 배열을 입력값으로 허용할 수 있게 하려면 코드 시작 부분에 convertStringsToChars에 대한 호출을 추가하십시오.

    예를 들어, 3개의 입력 인수를 받는 함수 myFunc를 정의한 경우, convertStringsToChars를 사용하여 3개의 입력 인수를 모두 처리합니다. 코드의 나머지 부분은 변경하지 않은 상태로 둡니다.

    function y = myFunc(a,b,c)
        [a,b,c] = convertStringsToChars(a,b,c);
        <line 1 of original code>
        <line 2 of original code>
        ...

    이 예에서 출력 인수 [a,b,c]는 각 위치의 입력 인수를 덮어씁니다. 입력 인수가 string형 배열이 아니면 변경되지 않습니다.

    myFunc에서 가변 개수의 입력 인수를 받으면 varargin을 통해 지정한 인수를 모두 처리하십시오.

    function y = myFunc(varargin)
        [varargin{:}] = convertStringsToChars(varargin{:});
        ...
  • 1개의 입력 인수를 변환할 때는 convertStringsToChars 함수가 더 효율적입니다. 성능이 우려될 경우 여러 입력값에 convertStringsToChars를 한 번 호출하는 대신, 한 번에 하나의 입력 인수에 이를 호출하십시오.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

스레드 기반 환경
MATLAB®의 backgroundPool을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool을 사용해 코드 실행 속도를 높일 수 있습니다.

버전 내역

R2017b에 개발됨