Main Content

문자형 벡터로 구성된 셀형 배열

텍스트를 문자형 벡터로 저장하려면 텍스트를 작은따옴표로 묶으십시오. 일반적으로 문자형 벡터에는 파일 이름이나 플롯 레이블같이 단일 정보로 간주되는 텍스트가 포함됩니다. 파일 이름 목록 같은 여러 텍스트 조각은 셀형 배열로 저장할 수 있습니다. 요소가 모두 문자형 벡터인 셀형 배열을 문자형 벡터로 구성된 셀형 배열이라고 합니다.

참고

  • 텍스트를 저장할 때는 string형 배열을 사용하는 것이 좋습니다. string 데이터형의 변수를 생성하는 경우 셀형 배열 대신 string형 배열에 저장하십시오. 자세한 내용은 string형 배열과 문자형 배열 내에 포함된 텍스트 항목과 string형을 허용할 수 있도록 코드 업데이트하기 항목을 참조하십시오.

  • 이러한 셀형 배열을 설명할 때 흔히 문자열로 구성된 셀형 배열이라고 하지만, 이 셀형 배열은 문자열(string형)이 아니라 문자형 벡터를 포함하기 때문에 더 이상 정확한 표현은 아닙니다.

문자형 벡터로 구성된 셀형 배열 만들기

문자형 벡터로 구성된 셀형 배열을 만들려면 셀형 배열을 만들 때처럼 중괄호 {}를 사용하십시오. 예를 들어, 문자형 벡터로 구성된 셀형 배열을 사용하여 이름 목록을 저장해 보겠습니다.

C = {'Li','Sanchez','Jones','Yang','Larson'}
C = 1x5 cell
    {'Li'}    {'Sanchez'}    {'Jones'}    {'Yang'}    {'Larson'}

셀형 배열의 내용은 크기가 같을 필요가 없기 때문에 C에 있는 문자형 벡터들은 길이가 서로 다를 수 있습니다. C의 문자형 벡터 길이를 확인하려면 strlength 함수를 사용하십시오.

L = strlength(C)
L = 1×5

     2     7     5     4     6

셀형 배열의 문자형 벡터에 액세스하기

셀형 배열의 문자형 벡터에 액세스하려면 중괄호 {}를 사용하여 셀형 배열의 요소를 참조하십시오. 첫 번째 셀의 내용을 추출하여 문자형 벡터로 저장해 보겠습니다.

C = {'Li','Sanchez','Jones','Yang','Larson'};
chr = C{1}
chr = 
'Li'

다른 문자형 벡터를 첫 번째 셀에 할당합니다.

C{1} = 'Yang'
C = 1x5 cell
    {'Yang'}    {'Sanchez'}    {'Jones'}    {'Yang'}    {'Larson'}

셀의 서브셋을 참조하려면 내용 대신 괄호를 사용하여 인덱싱하십시오.

C(1:3)
ans = 1x3 cell
    {'Yang'}    {'Sanchez'}    {'Jones'}

인덱싱을 통해 셀 내용에 액세스할 수 있지만, 셀형 배열을 입력값으로 받는 대부분의 함수는 전체 셀형 배열에 대해 동작을 수행합니다. 예를 들어, strcmp 함수를 사용하여 C의 내용을 문자형 벡터와 비교할 수 있습니다. strcmp는 일치 항목이 있으면 1을 반환하고 일치 항목이 없으면 0을 반환합니다.

TF = strcmp(C,'Yang')
TF = 1x5 logical array

   1   0   0   1   0

일치 항목 개수를 구하려면 TF에서 합을 구하면 됩니다.

num = sum(TF)
num = 2

TF를 논리형 인덱스로 사용하여 C의 일치 항목을 반환합니다. 괄호를 사용하여 인덱싱하는 경우 출력값은 일치 항목만 포함하는 셀형 배열입니다.

M = C(TF)
M = 1x2 cell
    {'Yang'}    {'Yang'}

셀형 배열을 string형 배열로 변환하기

string형 배열은 MATLAB® 및 MathWorks® 제품에서 지원됩니다. 따라서 문자형 벡터로 구성된 셀형 배열 대신 string형 배열을 사용하는 것이 좋습니다. (참고로, string형 배열을 입력값으로 받는 MATLAB 함수는 문자형 벡터와 문자형 벡터로 구성된 셀형 배열도 받습니다.)

문자형 벡터로 구성된 셀형 배열을 string형 배열로 변환할 수 있습니다. 문자형 벡터로 구성된 셀형 배열을 변환하려면 string 함수를 사용하십시오.

C = {'Li','Sanchez','Jones','Yang','Larson'}
C = 1x5 cell
    {'Li'}    {'Sanchez'}    {'Jones'}    {'Yang'}    {'Larson'}

str = string(C)
str = 1x5 string
    "Li"    "Sanchez"    "Jones"    "Yang"    "Larson"

실제로 string 함수는 어떠한 셀형 배열이든 그 모든 요소를 string형으로 변환할 수 있으면 배열 변환을 수행합니다.

C2 = {5, 10, 'some text', datetime('today')}
C2=1×4 cell array
    {[5]}    {[10]}    {'some text'}    {[25-Jan-2024]}

str2 = string(C2)
str2 = 1x4 string
    "5"    "10"    "some text"    "25-Jan-2024"

참고 항목

| | | |

관련 항목