산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> MATLAB

MATLAB 문자열 완벽 가이드: 생성, 결합, 셀 배열 변환, 주요 함수

문자열 생성 기초

MATLAB에서 문자열 생성은 간단합니다. 명령 프롬프트에 다음과 같이 입력하면 됩니다.

my_string = 'Tutorials Point'

실행 결과:

my_string = Tutorials Point

MATLAB은 모든 변수를 배열로 다루며, 문자열은 문자 배열(character array)로 간주됩니다. whos 명령으로 확인해 보겠습니다.

whos

실행 결과:

Name         Size    Bytes  Class    Attributes
my_string    1x16    32     char

문자-숫자 변환

uint8, uint16 등으로 문자를 ASCII/유니코드 값으로 변환할 수 있고, char 함수로 다시 문자로 되돌릴 수 있습니다.

예제

my_string = 'Tutorial''s Point';
str_ascii = uint8(my_string)      % 8비트 ASCII 값
str_back_to_char = char(str_ascii)
str_16bit = uint16(my_string)     % 16비트 유니코드 값
str_back_to_char = char(str_16bit)

실행 결과:

str_ascii = 84 117 116 111 114 105 97 108 39 115 32 80 111 105 110 116
str_back_to_char = Tutorial's Point
str_16bit = 84 117 116 111 114 105 97 108 39 115 32 80 111 105 110 116
str_back_to_char = Tutorial's Point

직사각형 문자 배열(Rectangular Character Array)

1차원 문자열을 여러 개 결합해 2차원 문자 행렬을 만들 수 있습니다. 각 행의 길이가 같아야 하며, 길이가 다를 경우 공백으로 채워야 합니다.

세로 결합(행 추가)

예제

doc_profile = ['Zara Ali '; 'Sr. Surgeon '; 'R N Tagore Cardiology Research Center']
doc_profile = char('Zara Ali', 'Sr. Surgeon', 'RN Tagore Cardiology Research Center')

실행 결과:

doc_profile = Zara Ali            Sr. Surgeon       R N Tagore Cardiology Research Center
doc_profile = Zara Ali            Sr. Surgeon       RN Tagore Cardiology Research Center

가로 결합(열 추가)

예제

name = 'Zara Ali '; position = 'Sr. Surgeon '; worksAt = 'R N Tagore Cardiology Research Center';
profile = [name ', ' position ', ' worksAt]
profile = strcat(name, ', ', position, ', ', worksAt)

실행 결과:

profile = Zara Ali , Sr. Surgeon , R N Tagore Cardiology Research Center
profile = Zara Ali,Sr. Surgeon,R N Tagore Cardiology Research Center

셀 배열로 문자열 결합

길이가 다른 문자열들을 다룰 때 공백 패딩 대신 셀 배열을 사용하면 더 유연합니다. cellstr 함수는 문자 배열을 문자열 셀 배열로 변환합니다.

예제

name = 'Zara Ali '; position = 'Sr. Surgeon '; worksAt = 'R N Tagore Cardiology Research Center';
profile = char(name, position, worksAt);
profile = cellstr(profile);
disp(profile)

실행 결과:

{ [1,1] = Zara Ali; [2,1] = Sr. Surgeon; [3,1] = R N Tagore Cardiology Research Center }

MATLAB 주요 문자열 함수

문자열 생성, 결합, 파싱, 비교, 조작을 위한 다양한 함수가 있습니다.

함수용도
문자 배열 저장, 결합 등
blanks공백 문자열 생성
cellstr문자 배열 → 문자열 셀 배열
char문자 배열(문자열)로 변환
iscellstr문자열 셀 배열 여부 판단
ischar문자 배열 여부 판단
sprintf데이터를 문자열로 포맷
strcat문자열 가로 결합
strjoin셀 배열 문자열을 구분자로 결합
문자열 부분 식별, 찾기/바꾸기
isletter알파벳 문자 여부
isspace공백 문자 여부
isstrprop지정 범주 문자 여부
sscanf문자열에서 포맷된 데이터 읽기
strfind부분 문자열 찾기
strrep부분 문자열 찾아 바꾸기
strsplit구분자로 문자열 분할
strtok문자열 토큰 선택
validatestring문자열 유효성 검사
symvar표현식의 심볼릭 변수 확인
regexp정규표현식 매칭(대소문자 구분)
regexpi정규표현식 매칭(대소문자 무시)
regexprep정규표현식으로 치환
regexptranslate문자열을 정규표현식으로 변환
문자열 비교
strcmp문자열 비교(대소문자 구분)
strcmpi문자열 비교(대소문자 무시)
strncmp앞 n자 비교(대소문자 구분)
strncmpi앞 n자 비교(대소문자 무시)
대소문자 변환, 공백 처리
deblank끝 공백 제거
strtrim앞뒤 공백 제거
lower소문자 변환
upper대문자 변환
strjust문자 배열 정렬

예제: 문자열 포맷팅(sprintf)

A = pi*1000*ones(1,5);
sprintf(' %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n', A)

실행 결과:

ans = 3141.592654
 3141.59
 +3141.59
 3141.59
 000003141.59

예제: 문자열 결합(strjoin)

str_array = {'red','blue','green','yellow','orange'};
str1 = strjoin(str_array, '-')
str2 = strjoin(str_array, ',')

실행 결과:

str1 = red-blue-green-yellow-orange
str2 = red,blue,green,yellow,orange

예제: 찾기/바꾸기(strrep, strtok)

students = {'Zara Ali', 'Neha Bhatnagar', 'Monica Malik', 'Madhu Gautam', ...
            'Madhu Sharma', 'Bhawna Sharma', 'Nuha Ali', 'Reva Dutta', ...
            'Sunaina Ali', 'Sofia Kabir'};
new_student = strrep(students(8), 'Reva', 'Poulomi')
first_names = strtok(students)

실행 결과:

new_student = { [1,1] = Poulomi Dutta }
first_names = { [1,1] = Zara; [1,2] = Neha; [1,3] = Monica; [1,4] = Madhu; [1,5] = Madhu; [1,6] = Bhawna; [1,7] = Nuha; [1,8] = Reva; [1,9] = Sunaina; [1,10] = Sofia }

예제: 문자열 비교(strcmp)

str1 = 'This is test'; str2 = 'This is text';
if (strcmp(str1, str2))
    sprintf('%s and %s are equal', str1, str2)
else
    sprintf('%s and %s are not equal', str1, str2)
end

실행 결과:

str1 = This is test
str2 = This is text
ans = This is test and This is text are not equal

MATLAB

  1. Java String 마스터하기: 생성, 메서드, 모범 사례
  2. MATLAB: 선도적인 수치 연산 환경 종합 개요
  3. MATLAB 변수 이해: 기초와 예제
  4. 효율적인 계산을 위한 필수 MATLAB 명령어
  5. MATLAB 데이터 타입 완벽 가이드: 종류, 변환, 확인 방법
  6. MATLAB 연산자 마스터: 산술, 논리, 비트 연산 완벽 가이드
  7. MATLAB 행렬 기초 마스터: 생성, 참조, 데이터 조작
  8. MATLAB: 다차원 배열과 특수 배열 마스터하기
  9. MATLAB 콜론 연산자 마스터하기: 벡터 생성과 효율적 반복
  10. MATLAB 숫자 유형: 정수, 부동소수점, 변환과 범위 총정리