Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> MATLAB

MATLAB - Zeichenfolgen

Das Erstellen einer Zeichenkette ist in MATLAB recht einfach. Tatsächlich haben wir es viele Male verwendet. Geben Sie beispielsweise Folgendes in die Eingabeaufforderung ein −

Live-Demo
my_string = 'Tutorials Point'

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

my_string = Tutorials Point

MATLAB betrachtet alle Variablen als Arrays und Strings als Zeichen-Arrays. Lassen Sie uns das whos verwenden Befehl, um die oben erstellte Variable zu überprüfen −

whos

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

Name           Size            Bytes  Class    Attributes
my_string      1x16               32  char

Interessanterweise können Sie numerische Konvertierungsfunktionen wie uint8 verwenden oder uint16 um die Zeichen in der Zeichenfolge in ihre numerischen Codes umzuwandeln. Der char Funktion wandelt den Integer-Vektor zurück in Zeichen −

Beispiel

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

Live-Demo
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)  

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

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

Rechteckiges Zeichenarray

Die bisher besprochenen Strings sind eindimensionale Zeichen-Arrays; Wir müssen jedoch mehr als das speichern. Wir müssen mehr dimensionale Textdaten in unserem Programm speichern. Dies wird erreicht, indem rechteckige Zeichenfelder erstellt werden.

Die einfachste Art, ein rechteckiges Zeichenarray zu erstellen, besteht darin, zwei oder mehr eindimensionale Zeichenarrays zu verketten, je nach Bedarf entweder vertikal oder horizontal.

Sie können Zeichenfolgen auf eine der folgenden Arten vertikal kombinieren −

Beispiel

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

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

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

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

Sie können Zeichenfolgen auf eine der folgenden Arten horizontal kombinieren −

Beispiel

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

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

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

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

Kombinieren von Strings zu einem Cell Array

Aus unserer vorherigen Diskussion ist klar, dass das Kombinieren von Zeichenfolgen mit unterschiedlichen Längen mühsam sein kann, da alle Zeichenfolgen im Array dieselbe Länge haben müssen. Wir haben Leerzeichen am Ende von Strings verwendet, um ihre Länge auszugleichen.

Eine effizientere Methode zum Kombinieren der Zeichenfolgen besteht jedoch darin, das resultierende Array in ein Zellenarray umzuwandeln.

MATLAB-Zellenarrays können unterschiedliche Größen und Typen von Daten in einem Array enthalten. Zellenarrays bieten eine flexiblere Möglichkeit, Zeichenfolgen unterschiedlicher Länge zu speichern.

Die cellstr Funktion konvertiert ein Zeichen-Array in ein Zellen-Array von Strings.

Beispiel

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

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

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

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

String-Funktionen in MATLAB

MATLAB bietet zahlreiche String-Funktionen zum Erstellen, Kombinieren, Analysieren, Vergleichen und Manipulieren von Strings.

Die folgende Tabelle enthält eine kurze Beschreibung der Zeichenfolgenfunktionen in MATLAB −

Funktion Zweck
Funktionen zum Speichern von Text in Zeichenfeldern, Kombinieren von Zeichenfeldern usw.
Leerzeichen Kette aus Leerzeichen erstellen
cellstr Zell-Array von Strings aus Zeichen-Array erstellen
Zeichen In Zeichen-Array (String) umwandeln
iscellstr Bestimmen Sie, ob die Eingabe ein Zellenarray von Zeichenfolgen ist
ischar Bestimmen Sie, ob das Element ein Zeichenarray ist
sprintf Daten in Zeichenfolge formatieren
strcat Strings horizontal verketten
strjoin Strings im Zellenarray zu einem einzigen String zusammenfügen
Funktionen zum Identifizieren von Teilen von Strings, Suchen und Ersetzen von Teilstrings
ischar Bestimmen Sie, ob das Element ein Zeichenarray ist
Inselbuchstabe Array-Elemente, die alphabetische Buchstaben sind
Isspace Array-Elemente, die Leerzeichen sind
isstrprop Ermittle, ob die Zeichenfolge der angegebenen Kategorie angehört
sscanf Formatierte Daten aus String lesen
strfind Einen String in einem anderen finden
strrep Teilstring suchen und ersetzen
strsplit String am angegebenen Trennzeichen aufteilen
strtok Ausgewählte Teile des Strings
Validierungszeichenfolge Gültigkeit der Textzeichenfolge prüfen
symvar Symbolische Variablen im Ausdruck bestimmen
regulärer Ausdruck Übereinstimmung mit regulärem Ausdruck (Groß-/Kleinschreibung beachten)
Regexpi Übereinstimmung mit regulärem Ausdruck (Groß-/Kleinschreibung wird nicht beachtet)
regexprep String durch regulären Ausdruck ersetzen
regexptranslate String in regulären Ausdruck übersetzen
Funktionen zum String-Vergleich
strcmp Strings vergleichen (Groß-/Kleinschreibung beachten)
strcmpi Strings vergleichen (Groß-/Kleinschreibung nicht beachten)
strncmp Erste n Zeichen von Strings vergleichen (Groß-/Kleinschreibung beachten)
strncmpi Vergleiche die ersten n Zeichen von Strings (Groß-/Kleinschreibung wird nicht beachtet)
Funktionen zum Ändern von Zeichenfolgen in Groß- oder Kleinbuchstaben, Erstellen oder Entfernen von Leerzeichen
deblank Nachlaufende Leerzeichen vom Ende der Zeichenfolge entfernen
strtrim Entfernen Sie führende und abschließende Leerzeichen aus der Zeichenfolge
unten Zeichenfolge in Kleinbuchstaben umwandeln
oben String in Großbuchstaben umwandeln
strjust Zeichenreihe ausrichten

Beispiele

Die folgenden Beispiele veranschaulichen einige der oben erwähnten String-Funktionen −

Zeichenfolgen formatieren

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

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

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

ans =  3141.592654 
   3141.59 
   +3141.59 
      3141.59 
   000003141.59 

Strings verbinden

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

Live-Demo
%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, ",")

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

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

Strings suchen und ersetzen

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

Live-Demo
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)

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

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
}

Strings vergleichen

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

Live-Demo
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

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

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

MATLAB

  1. Java-Strings
  2. MATLAB - Überblick
  3. MATLAB - Variablen
  4. MATLAB - Befehle
  5. MATLAB - Datentypen
  6. MATLAB - Operatoren
  7. MATLAB - Matrix
  8. MATLAB - Arrays
  9. MATLAB - Doppelpunktnotation
  10. MATLAB - Zahlen