Main Content

string

설명

MATLAB®에서 string형 배열을 사용하여 텍스트를 표현할 수 있습니다. string형 배열의 각 요소는 일련의 문자를 저장합니다. string형 배열은 공백으로 채우지 않고도 서로 다른 길이의 문자 시퀀스를 저장할 수 있습니다(예: "yes""no"). 요소가 1개 뿐인 string형 배열은 string형 스칼라라고도 합니다.

표준 배열 연산을 사용하여 string형 배열의 요소를 참조하고, string형 배열을 형태 변경하고 결합할 수 있습니다. 또한 + 연산자를 사용하여 string형에 텍스트를 추가할 수 있습니다. string형 배열이 숫자를 나타내는 경우 double 함수를 사용하여 string형 배열을 숫자형 배열로 변환할 수 있습니다.

생성

텍스트 조각을 큰따옴표로 묶어서 string형 스칼라를 만들 수 있습니다.

str = "Hello, world"
str = 
"Hello, world"

string형 배열을 생성하려면 숫자를 숫자형 배열로 결합하는 것처럼 대괄호를 사용하여 string형 스칼라를 배열로 결합하면 됩니다.

str = ["Mercury" "Gemini" "Apollo";
       "Skylab" "Skylab B" "ISS"]
str = 2x3 string
    "Mercury"    "Gemini"      "Apollo"
    "Skylab"     "Skylab B"    "ISS" 

또한 아래 설명과 같이 string 함수를 사용하여 데이터형이 서로 다른 변수를 string형 배열로 변환할 수도 있습니다.

설명

예제

str = string(A)는 입력 배열을 string형 배열로 변환합니다. 예를 들어, A가 숫자형 벡터 [1 20 300]이면 str은 크기가 같은 string형 배열 ["1" "20" "300"]입니다.

예제

str = string(A, dateFmt)는 지정된 형식(예: "HH:mm:ss")을 적용합니다. 여기서 Adatetime형 배열 또는 duration형 배열입니다. 추가로 로캘을 별도의 입력값으로 지정할 수 있습니다(예: "en_US").

입력 인수

모두 확장

입력 배열입니다. A의 데이터형은 stringA를 string형 배열로 변환하는 방법을 결정합니다.

입력 유형

변환 참고 사항

샘플 입력값

샘플 출력값

char

각 행이 string형 스칼라가 됨

A가 비어 있는 경우('') 출력값은 문자가 없는 string형 스칼라입니다("")

1×3 char array
    'foo'

1×1 string array
    "foo"
2×3 char array
    'foo'
    'bar'
2×1 string array
    "foo"
    "bar"

셀형 배열

셀형 배열의 모든 요소는 1×1 string형으로 변환이 가능해야 합니다.

{137,'foo'}

["137" "foo"]

categorical형 배열

출력 string형은 A의 각 요소에 대응하는 범주 이름입니다.

1x3 categorical array
    red    green    blue
1x3 string array
    "red"    "green"    "blue"

숫자형 배열

num2str을 사용하는 것과 동일한 형식과 정밀도로 출력합니다. 더 정밀하게 형식을 지정하려면 compose를 사용하십시오.

A가 비어 있는 경우([]) 출력값은 빈 0×0 string형 배열입니다.

char을 사용하여 ASCII 또는 유니코드 포인트로 변환합니다.

[137 3.1e-3 8.5e-6]

["137" "0.0031" "8.5e-06"]

datetime형 배열

형식과 로캘을 지정하려면 dateFmt 항목을 참조하십시오.

datetime(2020,6,1)

"01-Jun-2020"

논리형 배열

logical 함수는 string형 입력값을 받지 않으므로 변환은 단방향으로 이루어집니다.

logical([0 1])

["false" "true"]

변환된 누락값(예: NaN, NaT<undefined> categorical형 값)은 <missing>으로 표시됩니다.

날짜 형식과 로캘로, 개별적인 문자형 벡터 또는 string형 스칼라로 지정됩니다. A 입력값은 datetime형, duration형 또는 calendarDuration형이어야 합니다.

형식을 지정하지 않을 경우 stringAFormat 속성의 값을 사용합니다. 로캘만 지정하려면 빈 배열 []을 형식 부분의 자리 표시자로 사용하십시오.

예: string(A, "yyyy-MM-dd")

예: string(A, "yyyy-MM-dd","en_US")

예: string(A, [],"en_US")

지원되는 형식은 A의 데이터형에 따라 다릅니다.

  • datetime 형식에는 단위와 구분 기호의 조합이 포함될 수 있습니다(예: "yyyy-MMM-dd HH:mm:ss.SSS"). 자세한 내용은 datetime형 배열의 Format 속성을 참조하십시오.

  • duration 형식은 단일 문자(y, d, h, m, s)이거나 다음 조합 중 하나입니다.

    • "dd:hh:mm:ss"

    • "hh:mm:ss"

    • "mm:ss"

    • "hh:mm"

    • 위 조합 중 하나와, 소수 초(Fractional Second) 자릿수를 나타내는 최대 9개의 S 문자를 함께 사용(예: "hh:mm:ss.SSSS")

  • calendarDuration 형식은 문자 y, q, m, w, d, t를 가장 큰 시간 단위부터 가장 작은 시간 단위의 순서로 조합하여 포함할 수 있습니다(예: "ym"). duration 형식과 calendarDuration 형식에 대한 자세한 내용은 날짜/시간 표시 형식 설정하기 항목을 참조하십시오.

로캘은 월 이름과 같이 날짜/시간의 특정 성분을 나타내는 언어 표현에 영향을 미칩니다. 유효한 값은 다음과 같습니다.

  • "system". 시스템 로캘을 지정하려는 경우 사용합니다.

  • xx_YY 형식의 문자형 벡터. 여기서 xx는 언어를 지정하는 ISO 639-1 두 자리 코드(소문자)이고, YY는 국가를 지정하는 ISO 3166-1 alpha-2 코드(대문자)입니다. 샘플 값은 datetime 함수의 Locale 이름-값 인수를 참조하십시오.

출력 인수

모두 확장

출력 배열로, string형 배열로 반환됩니다.

MATLAB은 모든 문자를 UTF-16 인코딩을 사용하는 Unicode® 문자로 저장합니다. Unicode에 대한 자세한 내용은 Unicode를 참조하십시오.

예제

모두 축소

string형에서 고유한 단어를 찾으려면 공백 문자에서 문자열을 분할하고 unique 함수를 호출하십시오.

먼저 string형 스칼라를 만듭니다.

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

느낌표를 제거합니다.

str = erase(str,"!")
str = 
"A horse A horse My kingdom for a horse"

str의 모든 영문자를 소문자로 변환합니다.

str = lower(str)
str = 
"a horse a horse my kingdom for a horse"

split 함수를 사용하여 공백 문자에서 str을 분할합니다. split 함수는 공백 문자를 삭제하고 결과를 string형 배열로 반환합니다.

str = split(str)
str = 9x1 string
    "a"
    "horse"
    "a"
    "horse"
    "my"
    "kingdom"
    "for"
    "a"
    "horse"

unique 함수를 사용하여 str에서 고유한 단어를 찾습니다.

str = unique(str)
str = 5x1 string
    "a"
    "for"
    "horse"
    "kingdom"
    "my"

A = 'Four score and seven years ago'
A = 
'Four score and seven years ago'
str = string(A)
str = 
"Four score and seven years ago"

str에 포함된 문자는 A와 동일합니다. 그러나 A는 문자형 벡터인 반면, str은 string형 스칼라입니다.

c = size(A)
c = 1×2

     1    30

s = size(str)
s = 1×2

     1     1

str의 문자 수를 반환하려면 strlength 함수를 사용하십시오.

n = strlength(str)
n = 30

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

A = {'Mercury','Gemini','Apollo';...
     'Skylab','Skylab B','ISS'}
A = 2x3 cell
    {'Mercury'}    {'Gemini'  }    {'Apollo'}
    {'Skylab' }    {'Skylab B'}    {'ISS'   }

str = string(A)
str = 2x3 string
    "Mercury"    "Gemini"      "Apollo"
    "Skylab"     "Skylab B"    "ISS"   

str에서 첫 번째 행의 두 번째 요소에 액세스하려면 괄호를 사용하여 인덱싱하십시오. 숫자형 배열의 요소에 액세스할 때처럼, 행렬 인덱싱을 사용하여 string형 배열에 있는 문자열에 액세스할 수 있습니다.

str(1,2)
ans = 
"Gemini"

세 번째 열에 액세스합니다.

str(:,3)
ans = 2x1 string
    "Apollo"
    "ISS"

A = [77 65 84 76 65 66]
A = 1×6

    77    65    84    76    65    66

str = string(A)
str = 1x6 string
    "77"    "65"    "84"    "76"    "65"    "66"

str은 각 요소가 A의 숫자를 나타내는 string형 배열입니다. string 함수는 char 함수처럼 숫자를 ASCII 값이나 Unicode® 값으로 취급하지 않습니다.

각 요소가 숫자를 나타내는 string형 배열을 생성합니다. string형 배열을 숫자형 배열로 변환하려면 double 함수를 사용하십시오.

str = ["256","3.1416","8.9e-3"]
str = 1x3 string
    "256"    "3.1416"    "8.9e-3"

X = double(str)
X = 1×3

  256.0000    3.1416    0.0089

입력 인수가 string형 배열이면 double 함수는 각 요소가 부동소수점 값의 표현인 것으로 처리합니다. 그러나 입력값이 문자형 배열이면 double 함수는 대신 각 문자를 Unicode® 값을 나타내는 숫자로 변환합니다.

다른 방법으로, str2double 함수를 사용할 수 있습니다. 입력 인수가 string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열이어야 하는 경우에는 str2double이 적합합니다.

Y = str2double(str)
Y = 1×3

  256.0000    3.1416    0.0089

C = '2.7183';
Z = str2double(C)
Z = 2.7183

duration형 배열을 string형으로 변환합니다. 일반적인 데이터형을 string형으로 변환하는 방법에 대한 자세한 내용은 텍스트와 datetime형 값 또는 duration형 값 간에 변환하기 항목을 참조하십시오.

duration형 배열을 만듭니다.

D = hours(23:25) + minutes(8) + seconds(1.2345)
D = 1x3 duration
   23.134 hr   24.134 hr   25.134 hr

D를 string형 배열로 변환합니다.

str = string(D)
str = 1x3 string
    "23.134 hr"    "24.134 hr"    "25.134 hr"

str은 요소당 1개의 duration형 값을 가진 string형 배열입니다. strD와 크기가 동일합니다.

str에 있는 duration형 값의 형식을 지정합니다.

str = string(D,'hh:mm')
str = 1x3 string
    "23:08"    "24:08"    "25:08"

  • string형 배열의 텍스트를 만들고 조작할 수 있는 함수 목록은 문자형과 string형 항목을 참조하십시오.

  • 입력 인수가 객체인 경우, 이 인수는 객체를 string형으로 나타내는 데 string 메서드를 구현하는 클래스에 속해야 합니다.

  • char형 배열을 숫자형으로 변환하면 대응되는 Unicode 코드 값으로 구성된 배열이 생성됩니다. string형으로 된 텍스트는 이 방식으로 변환되지 않습니다. 단일 숫자형 값을 나타내지 않는 string형을 double형으로 변환하면 NaN 결과가 생성됩니다. 자세한 내용은 유니코드 값과 ASCII 값 항목을 참조하십시오.

확장 기능

HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.

버전 내역

R2016b에 개발됨