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

MATLAB - 문자열

MATLAB에서 문자열을 만드는 것은 매우 간단합니다. 사실, 우리는 그것을 여러 번 사용했습니다. 예를 들어 명령 프롬프트에 다음을 입력합니다. -

라이브 데모
my_string = 'Tutorials Point'

MATLAB은 위의 명령문을 실행하고 다음 결과를 반환합니다 -

my_string = Tutorials Point

MATLAB은 모든 변수를 배열로 간주하고 문자열은 문자형 배열로 간주합니다. who를 사용합시다. 위에서 생성한 변수를 확인하는 명령어 -

whos

MATLAB은 위의 명령문을 실행하고 다음 결과를 반환합니다 -

Name           Size            Bytes  Class    Attributes
my_string      1x16               32  char

흥미롭게도 uint8과 같은 숫자 변환 함수를 사용할 수 있습니다. 또는 uint16 문자열의 문자를 숫자 코드로 변환합니다. 문자 함수는 정수 벡터를 다시 문자로 변환합니다 -

스크립트 파일을 만들고 다음 코드를 입력하십시오 -

라이브 데모
my_string = 'Tutorial''s Point';
str_ascii = uint8(my_string)        % 8-bit ascii values
str_back_to_char= char(str_ascii)  
str_16bit = uint16(my_string)       % 16-bit ascii values
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

사각형 문자 배열

지금까지 논의한 문자열은 1차원 문자 배열입니다. 그러나 그 이상을 저장해야 합니다. 프로그램에 더 많은 차원의 텍스트 데이터를 저장해야 합니다. 이것은 직사각형 문자 배열을 생성함으로써 달성됩니다.

직사각형 문자 배열을 만드는 가장 간단한 방법은 필요에 따라 세로 또는 가로로 둘 이상의 1차원 문자 배열을 연결하는 것입니다.

다음 방법 중 하나로 문자열을 세로로 결합할 수 있습니다. -

예시

스크립트 파일을 만들고 다음 코드를 입력하십시오 -

라이브 데모
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

문자열을 셀형 배열로 결합

이전 논의에서 배열의 모든 문자열이 동일한 길이여야 하므로 길이가 다른 문자열을 결합하는 것이 어려울 수 있음이 분명합니다. 문자열의 길이를 동일하게 하기 위해 문자열 끝에 공백을 사용했습니다.

그러나 문자열을 결합하는 더 효율적인 방법은 결과 배열을 셀형 배열로 변환하는 것입니다.

MATLAB 셀형 배열은 배열에 다양한 크기와 유형의 데이터를 저장할 수 있습니다. 셀형 배열은 다양한 길이의 문자열을 저장하는 보다 유연한 방법을 제공합니다.

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의 문자열 함수

MATLAB은 문자열을 생성, 결합, 구문 분석, 비교 및 ​​조작하는 수많은 문자열 함수를 제공합니다.

다음 표는 MATLAB의 문자열 함수에 대한 간략한 설명을 제공합니다 -

함수 목적
문자 배열에 텍스트를 저장하고 문자 배열을 결합하는 등의 기능
공백 공백 문자열 생성
셀 문자열 문자형 배열에서 문자열로 구성된 셀형 배열 만들기
문자 문자열(문자열)로 변환
iscellstr 입력이 문자열의 셀형 배열인지 확인
ischar 항목이 문자 배열인지 확인
sprintf 문자열로 데이터 형식 지정
strcat 문자열을 가로로 연결
strjoin 셀형 배열의 문자열을 단일 문자열로 결합
문자열 부분 식별, 하위 문자열 찾기 및 바꾸기 기능
ischar 항목이 문자 배열인지 확인
알파벳 문자 배열 요소
공간 공백 문자인 배열 요소
isstrprop 문자열이 지정된 범주에 속하는지 확인
sscanf 문자열에서 형식화된 데이터 읽기
문자열 찾기 다른 문자열 내에서 한 문자열 찾기
스트렙 하위 문자열 찾기 및 바꾸기
strsplit 지정된 구분 기호에서 문자열 분할
스트록 문자열의 선택된 부분
검증 문자열 텍스트 문자열의 유효성 확인
심바 표현식에서 기호 변수 결정
정규식 정규 표현식 일치(대소문자 구분)
정규식 정규 표현식 일치(대소문자 구분하지 않음)
정규식 준비 정규 표현식을 사용하여 문자열 바꾸기
정규 번역 문자열을 정규 표현식으로 변환
문자열 비교를 위한 함수
strcmp 문자열 비교(대소문자 구분)
strcmpi 문자열 비교(대소문자 구분 안함)
strncmp 문자열의 처음 n개 문자 비교(대소문자 구분)
strncpi 문자열의 처음 n개 문자 비교(대소문자 구분 안함)
문자열을 대문자 또는 소문자로 변경, 공백 생성 또는 제거 기능
공백 문자열 끝에서 후행 공백 제거
스트림 문자열에서 선행 및 후행 공백 제거
낮게 문자열을 소문자로 변환
상단 문자열을 대문자로 변환
문자열 문자 배열 정렬

예시

다음 예는 위에서 언급한 문자열 함수의 일부를 보여줍니다 -

문자열 서식 지정

스크립트 파일을 만들고 다음 코드를 입력하십시오 -

라이브 데모
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 

문자열 결합

스크립트 파일을 만들고 다음 코드를 입력하십시오 -

라이브 데모
%cell array of strings
str_array = {'red','blue','green', 'yellow', 'orange'};

% Join strings in cell array into single string
str1 = strjoin(str_array, "-")
str2 = strjoin(str_array, ",")

파일을 실행하면 다음과 같은 결과가 표시됩니다. -

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

문자열 찾기 및 바꾸기

스크립트 파일을 만들고 다음 코드를 입력하십시오 -

라이브 데모
students = {'Zara Ali', 'Neha Bhatnagar', ...
            'Monica Malik', 'Madhu Gautam', ...
            'Madhu Sharma', 'Bhawna Sharma',...
            'Nuha Ali', 'Reva Dutta', ...
            'Sunaina Ali', 'Sofia Kabir'};
 
% The strrep function searches and replaces sub-string.
new_student = strrep(students(8), 'Reva', 'Poulomi')
% Display first names
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
}

문자열 비교

스크립트 파일을 만들고 다음 코드를 입력하십시오 -

라이브 데모
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. 자바 문자열
  2. MATLAB - 개요
  3. MATLAB - 변수
  4. MATLAB - 명령
  5. MATLAB - 데이터 유형
  6. MATLAB - 연산자
  7. MATLAB - 행렬
  8. MATLAB - 배열
  9. MATLAB - 콜론 표기법
  10. MATLAB - 숫자